IIS7.5下404错误设置失效的问题

一般404设置用下面的设置即可生效:

<customErrors mode="On" defaultRedirect="/notfound.aspx">
      <error statusCode="404" redirect="/notfound.aspx" />
</customErrors>

 

我的情况是在VS内置IIS里可以运行生效,但部署到服务器用IIS7.5的时候,或许是由于用集成模式导致对“错误的目录”等错误不起效,只对于参数错误的页面起效。

在<system.webServer>里设置即可:

<httpErrors errorMode="DetailedLocalOnly">
<remove statusCode="404"/>
<error statusCode="404" path="/404.htm" responseMode="ExecuteURL"/>
</httpErrors>

 

有时候对于伪静态地址后面加上参数会报错,比如/info/1.html?ddd=11,加上忽略后面的参数即可。举例如下:

<RewriterRule>
    <LookFor>^http://[\w\.]+\w+(:\d+)?/info(/(\d+)|/)?(/(\d+))?.html?(\S*)$</LookFor>
    <SendTo><![CDATA[/info/News.aspx?ID=$3&NID=$5]]></SendTo>
</RewriterRule>

 

posted @ 2015-05-22 16:29  阿猫小覃  阅读(329)  评论(0编辑  收藏  举报