Пример конфигурации для <httpErrors> - PullRequest
5 голосов
/ 11 октября 2011

У меня есть веб-приложение в Asp.Net 4, работающее локально на IIS 7. Мне нужно отобразить пользовательскую страницу (404) и 500 вместо страницы по умолчанию для IIS.Использование этого httpErrors в Web.Config

<system.webServer>
    <httpErrors>

Мой сайт находится на

C:\inetpub\wwwroot\mysite\

Моя страница с ошибкой пользователя:работает.Не могли бы вы предоставить мне образец кода?

Спасибо

Ответы [ 2 ]

14 голосов
/ 12 октября 2011

Я решил мою проблему с этим.

<httpErrors errorMode="Custom">
    <remove statusCode="404" subStatusCode='-1' />
    <remove statusCode="500" subStatusCode='-1' />
    <error statusCode="404" path="/404.aspx" prefixLanguageFilePath="" responseMode="ExecuteURL"  />
    <error statusCode="500" path="/500.aspx" prefixLanguageFilePath="" responseMode="ExecuteURL" />
  </httpErrors>

Это должно быть в Web.config, под <configuration>> <system.webServer>

например

<configuration>
    <system.webServer>
        <httpErrors ...>
            // define errors in here ...
        </httpErrors>
    </system.webServer>
</configuration>
5 голосов
/ 11 октября 2011

Вот пример, надеюсь, это поможет

<system.web>
<customErrors mode="RemoteOnly" defaultRedirect="default.aspx">
<error statusCode="404" redirect="~/ErrorPages/404.htm"/>
<error statusCode="500" redirect="~/ErrorPages/505.htm"/>
</customErrors>
</system.web>

Редактировать для комментариев: Вот пример, который, я думаю, вам нужен

<configuration>
   <system.webServer>
      <httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="File" >
         <remove statusCode="500" />
         <error statusCode="500"
            prefixLanguageFilePath="C:\Contoso\Content\errors"
            path="500.htm" />
       </httpErrors>
   </system.webServer>
</configuration>

http://www.iis.net/ConfigReference/system.webServer/httpErrors/error

...