通常404设置用下面的设置便可生效:html
<customErrors mode="On" defaultRedirect="/notfound.aspx"> <error statusCode="404" redirect="/notfound.aspx" /> </customErrors>
个人状况是在VS内置IIS里能够运行生效,但部署到服务器用IIS7.5的时候,或许是因为用集成模式致使对“错误的目录”等错误不起效,只对于参数错误的页面起效。web
在<system.webServer>里设置便可:服务器
<httpErrors errorMode="DetailedLocalOnly"> <remove statusCode="404"/> <error statusCode="404" path="/404.htm" responseMode="ExecuteURL"/> </httpErrors>
有时候对于伪静态地址后面加上参数会报错,好比/info/1.html?ddd=11,加上忽略后面的参数便可。举例以下:spa
<RewriterRule> <LookFor>^http://[\w\.]+\w+(:\d+)?/info(/(\d+)|/)?(/(\d+))?.html?(\S*)$</LookFor> <SendTo><![CDATA[/info/News.aspx?ID=$3&NID=$5]]></SendTo> </RewriterRule>