3

How can I set 404 and other error pages using web.config? I have tried adding following block in 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>

but still its showing default error page of IIS7. How to fix this?

4

4 回答 4

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>

感谢所有回答的人。

于 2011-08-19T10:17:04.640 回答
1

试着把它放在你的 Web.config 的 system.webServer 部分

<system.webServer>
  <httpErrors existingResponse="PassThrough" />
</system.webServer>
于 2011-08-04T09:59:41.800 回答
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>
于 2011-08-04T10:00:20.380 回答
0

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

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

于 2011-08-04T10:01:25.700 回答