Пользовательские ошибки HTTP в IIS 7 - PullRequest
4 голосов
/ 26 апреля 2011

Я пытаюсь обработать ошибки 403 и 404 в своем веб-приложении. Я прочитал инструкции MS и применил на моем сервере. Диспетчер IIS7 эффективно справляется с этим, редактируя мой файл web.config следующим образом:

<httpRedirect enabled="false" destination="/MySite" httpResponseStatus="Temporary" />
   <httpErrors>
      <remove statusCode="404" subStatusCode="-1" />
      <remove statusCode="403" subStatusCode="-1" />
      <error statusCode="403" prefixLanguageFilePath="" path="/mySite/Error.aspx" responseMode="ExecuteURL" />
       <error statusCode="404" prefixLanguageFilePath="" path="/mySite/Error.aspx" responseMode="ExecuteURL" />
   </httpErrors>

Он обрабатывает запросы типа http://www.mysite/fictiousURL.aspx, но не работает на http://www.mysite/fictiousURLTest.html. Кажется, что он может обрабатывать только aspx запросы.

Я также попытался http://www.15seconds.com/issue/030102.htm, добавив эту конфигурацию <customErrors mode="On" defaultRedirect="/mysite/error.aspx" /> в узел system.web.

Кто-нибудь знает а) Почему IIS7 обрабатывает только aspx и b) Кто-нибудь знает, как обрабатывать универсальные требования, такие как http://www.mysite/fictiousURLTest.html?

Спасибо, Билл Н

1 Ответ

2 голосов
/ 17 мая 2011

См. Мой ответ, приведенный здесь: Обработка кода состояния IIS7 и HTTP

Похоже, вам нужно установить

  <system.webServer>
    <httpErrors existingResponse="PassThrough" />
  </system.webServer>
...