web.config中的自定义错误不起作用

时间:2017-10-09 06:38:42

标签: asp.net custom-error-handling

我已经看到了所有相关的问题,但没有一个可行。 我甚至尝试过httpErrors,但这只会破坏我的服务器。 我的代码是:

<system.web>
  <customErrors defaultRedirect="~/Errors/Unauthorized.aspx" mode="On">
    <error statusCode="403" redirect="/Errors/Forbidden.aspx" />
  </customErrors>
</system.web>

我尝试过Errors / Unau ...,我尝试过/错误/ Unau ......但没有任何效果。请为正确重定向这件事做些什么。

1 个答案:

答案 0 :(得分:0)

您可以按以下方式更新Web.config

 <customErrors mode="On" defaultRedirect="/error/error">
  <error statusCode="400" redirect="/error/badrequest" />         
  <error statusCode="404" redirect="/error/notfound" />
  <error statusCode="414" redirect="/error/urltoolong" />
  <error statusCode="500" redirect="/error/InternalServerError" />
  <error statusCode="503" redirect="/error/serviceunavailable" />
</customErrors>

这适用于除403:Forbidden

之外的所有错误代码

处理403 Forbidden错误更新web.config,如下所示

  <system.webServer><httpErrors errorMode="Custom">
    <remove statusCode="403" />     
    <error statusCode="403" path="/error/Forbidden" responseMode="ExecuteURL" />
</httpErrors></system.webServer>

上面的代码对我来说很好。 希望这对你有所帮助。