Asp.net自定义404无法使用Intelligencia重写器

时间:2012-06-03 07:11:18

标签: asp.net url-rewriting http-status-code-404

Web.config:

<customErrors mode="On">
      <error statusCode="404" redirect="~/Page-Introuvable" />
  </customErrors>

Rewriter.config:

<rewriter>
    <rewrite url="~/Page-Introuvable" to="~/PageNotFound.aspx" />
</rewriter>

键入此未显示的网址时:

  

http://example.com/qwerty.aspx

我会看到我的错误404自定义页面

输入时:

  

http://example.com/qwerty(没有.aspx)

我收到服务器页面404错误

我想知道在这种情况下如何显示我的自定义页面。

非常感谢!

ANSWER

将此添加到web.config部分System.webServer:

<httpErrors errorMode="Custom">
      <clear/>
      <error statusCode="404" responseMode="Redirect" path="PageNotFound.aspx"/>
  </httpErrors>

1 个答案:

答案 0 :(得分:2)

<customErrors>仅适用于asp.net(aspx,ashx ...)处理的扩展程序,所有其他人使用<httpErrors>http://www.iis.net/ConfigReference/system.webServer/httpErrors

<system.webServer>
    <httpErrors errorMode="DetailedLocalOnly" defaultResponseMode="ExecuteURL" defaultPath="/error.aspx?code=404">
        <clear/>
        <error statusCode="404" responseMode="ExecuteURL" path="/error.aspx?code=404"/>
    </httpErrors>
</system.webServer>