ASPNET HttpErrors重定向到控制器

时间:2016-04-26 15:04:26

标签: asp.net-mvc redirect iis web-config

在我的网络配置中,我有这样的设置:

 <httpErrors errorMode="Custom" defaultPath="/Error/Error/ErrorHandler/404" defaultResponseMode="ExecuteURL" />

我想将所有IIS错误重定向到我自己的控制器和操作。但是我得到了错误:

The requested page cannot be accessed because the related configuration data for the page is invalid.

但是,如果我尝试将特定的错误代码重定向到我的控制器,它将起作用。 E.g:

<httpErrors errorMode="Custom" >
      <remove statusCode="403"/>
      <error statusCode="403" responseMode="ExecuteURL" path="/Error/Error/ErrorHandler/404"/>
    </httpErrors>

如何更改默认重定向以转到我的控制器/操作?

2 个答案:

答案 0 :(得分:0)

答案 1 :(得分:0)

看起来不可能这样。 responseMode仅支持:

  1. File用于未处理的文件,例如.html
  2. ExecuteURL支持.aspx文件
  3. Redirect重定向到另一个页面,从SEO角度来看不建议这样做。

您可以尝试以下方法的答案:CustomErrors vs HttpErrors - A significant design flaw?