asp.net – 如何将所有httpErrors重定向到自定义URL?

前端之家收集整理的这篇文章主要介绍了asp.net – 如何将所有httpErrors重定向到自定义URL?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这些是web.config中的代码
<system.web>
  <customErrors mode="Off" >
  </customErrors>
</system.web>
<system.webServer>
  <httpErrors errorMode="Custom" existingResponse="Replace">
    <clear />
    <error statusCode="404" prefixLanguageFilePath="" path="/ResourceNotFound" responseMode="ExecuteURL" />
    <error statusCode="500" prefixLanguageFilePath="" path="/ResourceNotFound" responseMode="ExecuteURL" />
    </httpErrors>
</system.webServer>

以上设置仅重定向404和500的httpError.

但不是手动添加400,401,403 ….等所有错误代码… …

我们可以设置它将所有错误重定向到相同的URL而不键入所有错误代码吗?

<error statusCode="400" .....
<error statusCode="401" .....
<error statusCode="403" .....
<error statusCode="404" .....
<error statusCode="xxx" ....

解决方法

试试这个,

添加web.config文件.

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

<httpErrors existingResponse="Replace" defaultResponseMode="ExecuteURL" errorMode="Custom">
    <remove statusCode="404" />
    <error statusCode="404" path="/ErrorPages/Oops.aspx" responseMode="ExecuteURL"/>
    <remove statusCode="401" />
    <error statusCode="401" path="/Account/Login.aspx" responseMode="ExecuteURL"/>
    <remove statusCode="501"/>
    <error statusCode="501" path="/ErrorPages/Oops.aspx" responseMode="ExecuteURL"/>
    <remove statusCode="411"/>
    <error statusCode="411" path="/ErrorPages/Oops.aspx" responseMode="ExecuteURL"/>
    <remove statusCode="403"/>
    <error statusCode="403" path="/ErrorPages/Oops.aspx" responseMode="ExecuteURL"/>
</httpErrors>

更多关于这http://www.iis.net/configreference/system.webserver/httperrors

猜你在找的asp.Net相关文章