IIS 7 возвращает HTTP 200 на пользовательских 404 ошибочных страницах

Машина "сервера", на твердотельном диске? странное решение, по моему скромному мнению. Какова будет основная роль этого сервера?

7
задан 22 June 2012 в 21:14
3 ответа

Переключиться на использование responseMode = "File" , однако трюк с этим будет использовать относительные пути к файлам, если вы не разблокируете или не установите значение true system.webServer / httpErrors allowAbsolutePathsWhenDelegated .

Пример отрывка из web.config:

<httpErrors>
    <remove statusCode="404" subStatusCode="-1" />
    <error statusCode="404" prefixLanguageFilePath="" path="error\404.htm" responseMode="File" />
</httpErrors>
4
ответ дан 2 December 2019 в 23:46

При использовании executeURL файл должен быть чем-то, что обрабатывается динамически (как .asp). Исполняемый файл должен содержать скрипт, устанавливающий код состояния ответа.

Пример:

  1. Измените 404.htm на 404.asp
  2. Сохраните следующий код вверху 404.asp:

<% response.status = "404 Страница не найдена" %>

1
ответ дан 13 August 2020 в 21:37

Вы пытались изменить ExecuteURL на Redirect в атрибуте responseMode?

<httpErrors existingResponse="Replace" defaultResponseMode="Redirect" errorMode="Custom">
     <remove statusCode="404"/>
     <error statusCode="404" responseMode="Redirect" path="/index1.htm"/>          
</httpErrors>

Ссылка: https: //techcommunity.microsoft.com/t5/iis-support-blog/issue-iis-logs-200-status-code-instead-of-404/ba-p/297652

0
ответ дан 20 October 2020 в 22:51

Теги

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