У меня проблема с настраиваемой страницей ошибки 404.
У меня есть домен, в котором запущен проект .NET с собственной обработкой ошибок. У меня работает web.config для домена, который содержит:
<customErrors mode="RemoteOnly">
<error statusCode="500" redirect="/Error"/>
<error statusCode="404" redirect="/404"/>
</customErrors>
В подкаталоге этого домена я игнорирую все маршруты, выполняя routes.IgnoreRoute("Assets/{*pathInfo}");
в проекте .NET, и я хочу разместить настраиваемую страницу с ошибкой 404 для этого и любого подкаталога Assets. Вложенный каталог содержит статический контент, такой как изображения, CSS, js и т. Д. И т. Д.
Поэтому в разделе «Страницы ошибок» IIS я поместил перенаправление на абсолютный URL-адрес.
Web.config для этого каталога выглядит следующим образом:
<system.webServer>
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="http://mydomain.com/404" responseMode="Redirect" />
</httpErrors>
</system.webServer>
Но я перехожу к неизвестному URL-адресу в этом каталоге, но все же вижу страницу IIS 404 по умолчанию.
Я также вижу предупреждение в IIS, которое гласит:
Вы настроили подробные сообщения об ошибках, которые будут возвращаться как для локальных, так и для удаленных запросов. Когда выбран этот параметр, настраиваемая конфигурация ошибок не используется.
Имеет ли это какое-либо отношение к customErrors mode="RemoteOnly"
в сайте web.config?
Я попытался перезаписать customErrors
в подкаталоге web.config, но ничего не меняется.
Любая помощь будет оценена.
Спасибо.
Вы можете попробовать просто добавить это:
<httpErrors>
<remove statusCode="404" subStatusCode="-1" />
<error statusCode="404" prefixLanguageFilePath="" path="/index.php" responseMode="ExecuteURL" />
</httpErrors>
В вашем файле "web.config".
Это может быть немного поздно, однако вы можете указать следующее в system.webserver
часть web.config
<system.webServer>
<httpErrors existingResponse="PassThrough" />
</system.webServer>
Благодарим за эту запись в Stack Overflow: https://stackoverflow.com/questions/434272/iis7-overrides-customerrors-when-setting-response-statuscode