当前位置 主页 > iis相关 >

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

    栏目:iis相关 时间:2018-09-10 18:17

      一般404设置用下面的设置即可生效:
     
      <customErrorsmode="On"defaultRedirect="/notfound.aspx">
     
      <errorstatusCode="404"redirect="/notfound.aspx"/>
     
      </customErrors>
     
      我的情况是在VS内置IIS里可以运行生效,但部署到服务器用IIS7.5的时候,或许是由于用集成模式导致对“错误的目录”等错误不起效,只对于参数错误的页面起效。
     
      在<system.webServer>里设置即可:
     
      <httpErrorserrorMode="DetailedLocalOnly">
     
      <removestatusCode="404"/>
     
      <errorstatusCode="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>