На моем веб-сайте 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 Error:
Ошибка 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 не поддерживает этот тип адреса или нет? Как я могу запретить пользователям видеть эту желтую страницу?
Редактировать:
Благодаря ответу Дэвида, Но я нашел реальную причину и правильное решение. Пожалуйста, смотрите мой ответ.