Пользовательские страницы ошибок отображаются с использованием IIS6, а не настроек web.config - PullRequest
3 голосов
/ 28 января 2010

Это мой первый пост об этом замечательном источнике информации о программировании.

Я разработал новый сайт для клиента и просто делаю некоторые последние штрихи.

Я пытаюсь создать пользовательские страницы ошибок, которые будут считываться с web.config

 <system.web>
 <customErrors mode="RemoteOnly">
           <error statusCode="404" redirect="404.aspx" />
           <error statusCode="500" redirect="500.aspx" />
    </customErrors>

Это хорошо работает на локальной машине разработки, и ошибки 404 и 500отображается как требуется.

После компиляции и публикации сайта на веб-сервере он не работает.IIS 6 продолжает отображать оригинальные страницы ошибок IIS 6, например, эту ошибку 404:

The page cannot be found

The page you are looking for might have been removed, 
had its name changed, or is temporarily unavailable. 
Please try the following:

Make sure that the Web site address displayed in the address bar of 
your browser is spelled and formatted correctly.

If you reached this page by clicking a link, contact the Web site 
administrator to alert them that the link is incorrectly formatted.

Click the Back button to try another link.
HTTP Error 404 - File or directory not found.
Internet Information Services (IIS)

Я не уверен, почему это происходит, я думал, что web.config перезаписывает исходные настройки IIS6.*

Хорошо, я обнаружил, что проблема только в странице 404 .aspx.Ошибка 500 работает нормально и показывает страницу 500.aspx.Но не для 404.aspx.Пожалуйста, совет

1 Ответ

2 голосов
/ 28 января 2010

Веб-конфигурация переопределяет настройки IIS6, только если запрос передается в фильтр .NET ISAPI - например, для страниц, заканчивающихся на .aspx

Если бы я перешел к файлу или каталогу, которые не попали в .NET ISAPI, он не использовал бы правила web.config.

...