Почему установка customErrors в web.config не работает в этом случае?

В моем ASP.NET 3.5 Веб-сайт, опубликованный у поставщика виртуального хостинга, я настроил свой файл web.config следующим образом:

    <customErrors mode="On" defaultRedirect="GenericErrorPage.htm">
        <error statusCode="403" redirect="AccessDenied.htm"/>
        <error statusCode="404" redirect="FileNotFound.htm"/>
    </customErrors>

Если пользователь запрашивает несуществующие страницы (например, «www.example.com/NotExistPage.aspx»), пользователь будет перенаправлен на страницу FileNotFound.htm, как мы и ожидали.

Но если пользователь запросит какой-либо адрес вроде: «www.example.com/NotExistDirectory» без расширения .aspx, пользователь столкнется со страницей ошибки IIS 7.5:

Ошибка HTTP 404.0 - не найденопользователь столкнется со страницей ошибки IIS 7.5:

Ошибка HTTP 404.0 - не найденопользователь столкнется со страницей ошибки IIS 7.5:

Ошибка HTTP 404.0 - не найдено ресурс, который вы ищете, был удалено, было изменено название или временно недоступен.

Подробная информация об ошибке:

Module  IIS Web Core
Notification    MapRequestHandler
Handler StaticFile
Error Code  0x80070002

Requested URL   http://www.example.com:80/NotExistDirectory
Physical Path   D:\Websites\example\example.com\wwwroot\NotExistDirectory
Logon Method    Anonymous
Logon User  Anonymous

Это желтая страница, неудобная для пользователя, и мы этого не ожидали.

Мне интересно, установка customeError в webconfig не поддерживает этот тип адреса или нет? Как я могу запретить пользователям видеть эту желтую страницу.

Изменить: Благодаря ответу Дэвида, но я нашел реальную причину и правильное решение. Пожалуйста, посмотрите мой ответ.

10
задан Mostafa 29 June 2017 в 12:56
поделиться

0 ответов

Другие вопросы по тегам:

Похожие вопросы: