无法使httpErrors工作

Kon*_*ten 3 c# error-handling asp.net-mvc web-config http-error

我已将以下内容添加到配置文件中.

<system.webServer>
  ...
  <httpErrors errorMode="Custom"
              existingResponse="Replace" 
              defaultResponseMode="ExecuteURL">
    <clear/>
    <error statusCode="404"
           responseMode="ExecuteURL"
           path="http://google.se" />
  </httpErrors>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

但是,似乎我仍然得到带有黄色背景和堆栈跟踪的默认页面.我已经尝试注释掉过滤器以进行错误处理并在system.web中添加/删除自定义错误.(我正在尝试这篇伟大文章中建议的httpErrors方法.)

我错过了什么?我还能做些什么来解决问题呢?

Fab*_*NET 6

您可以在ASP.NET级别执行此操作:

<system.web>
    ...
    <customErrors mode="On">
        <error statusCode="404" redirect="http://www.google.se"/>
    </customErrors>
</system.web>
Run Code Online (Sandbox Code Playgroud)

如果你真的想在IIS级别点它,你可以这样:

<system.webServer>
    <httpErrors errorMode="Custom" existingResponse="Replace">
        <remove statusCode="404"/>
        <error statusCode="404" path="http://www.google.fr" responseMode="Redirect"/>
    </httpErrors>
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

如果要重定向到绝对URL,则必须将"responseMode"属性设置为"Redirect","ExecuteURL"用于MSDN中的动态服务内容.