Asp.net - Web.Config - 自定义错误

时间:2011-08-04 09:55:43

标签: asp.net custom-error-pages

如何使用web.config设置404和其他错误页面?我尝试在web.config中添加以下块。

     <customErrors defaultRedirect="Forms/Errors/Page_404.aspx" mode="On">
    <error statusCode="500" redirect="servererror.aspx" />
        <error statusCode="403" redirect="NoAccess.htm" />
        <error statusCode="404" redirect="Forms/Errors/Page_404.aspx" />
    </customErrors>

但仍显示IIS7的默认错误页面。如何解决这个问题?

4 个答案:

答案 0 :(得分:10)

我自己解决了。我们需要在web.config中添加另一个部分,如下所示,使其在IIS 7 / 7.5中工作。对于IIS 6,我在我的问题中提到的那个

<system.webServer>
...
<httpErrors errorMode="Custom" >
<remove statusCode="403" subStatusCode="-1" />
<remove statusCode="404" subStatusCode="-1" />
<remove statusCode="500" subStatusCode="-1" />
<error statusCode="404" path="/404.aspx" responseMode="Redirect" />
<error statusCode="403" path="/403.aspx" responseMode="Redirect" />
<error statusCode="500" path="/500.aspx" responseMode="Redirect" />         
</httpErrors>
...
</system.webServer>

感谢所有回答的人。

答案 1 :(得分:1)

尝试将其放入Web.config

的system.webServer部分
<system.webServer>
  <httpErrors existingResponse="PassThrough" />
</system.webServer>

答案 2 :(得分:0)

尝试在路径前添加“〜/”:

 <customErrors defaultRedirect="~/Forms/Errors/Page_404.aspx" mode="On">
<error statusCode="500" redirect="~/servererror.aspx" />
    <error statusCode="403" redirect="~/NoAccess.htm" />
    <error statusCode="404" redirect="~/Forms/Errors/Page_404.aspx" />
</customErrors>

答案 3 :(得分:0)

看起来你正在那里使用相对路径。这可能是问题吗?

尝试使用Fiddler查看您的浏览器被重定向到的页面。

相关问题