Вопрос по iis-7.5, web-config, http-status-code-404, http-error – Ошибки web.config завершаются ошибкой с responseMode = «File»

8

Согласно сДокументация Microsoftдля статического (т.е. HTML) контента web.config должен читатьresponseMode="File" за каждую ошибку.

В настоящее время мой web.config включает

<httpErrors errorMode="Custom">
    <!-- remove statusCodes -->
    <error statusCode="404" path="/error/404.html" responseMode="ExecuteURL" />
</httpErrors>

Это возвращает правильную пользовательскую страницу ошибки, но возвращает код состояния 200 OK.

Когда я изменяю «ExecuteURL» на «Файл», мой сервер возвращает 404, но пользовательская страница ошибки не отображается. Вместо этого я получаю сообщение «Ресурс, который вы ищете, был удален, изменилось его имя или временно недоступен».

Как web.config должен читать, возвращать статический файл, но также 404?

Редактировать: удален<customErrors> вопросы после изучения того, что этот тег предназначен для IIS <= 6.0

Ваш Ответ

1   ответ
23

обнаружил, что проблема в слэше.

это работает для меня - не начинайте косую черту и используйте \ вместо /

  <error statusCode="404" path="Static\WebServer\PageNotFound.htm" responseMode="File" /> 
Действительно, если у вас есть начальная косая черта, она не будет работать и просто вернет общую страницу внутренней ошибки. Я делал path = "\ PageNotFound.html", и ему действительно просто нужен путь = "PageNotFound.html". jakejgordon

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