Я пытаюсь настроить пользовательские страницы ошибок для своего сайта (ASP.NET 4, интегрированный конвейер).
Все работает правильно на локальном компьютере, но пользовательские страницы ошибок для страниц .aspx
не отображаются на общем хостинге (я вижу страницы ошибок по умолчанию).
Если я изменю redirectMode="ResponseRewrite"
на redirectMode="ResponseRedirect"
, все будет работать правильно на локальной и общей машине.
error.aspx
- это настоящий файл, который находится рядом с файлом web.config
(в корне сайта). На сайте нет Global.asax
файла.
На локальной машине работает IIS 7.5, я не использую маршрутизацию (по крайней мере, сознательно), а общий хостинг сообщает, что Server: Microsoft-IIS/7.5 X-AspNet-Version: 4.0.30319
Не могли бы вы рассказать мне, в чем может быть причина такого разного поведения и что мне делать, чтобы решить эту проблему.
Вот выдержка из моего web.config
файла:
<system.webServer>
<httpErrors errorMode="Custom">
<remove statusCode="404" />
<error statusCode="404" path="/error.aspx" responseMode="ExecuteURL" />
</httpErrors>
</system.webServer>
<system.web>
<customErrors mode="On" defaultRedirect="error.aspx" redirectMode="ResponseRewrite">
<error statusCode="404" redirect="~/error.aspx"/>
</customErrors>
<httpRuntime requestValidationMode="2.0" />
</system.web>