无效或未知的.aspx页面不会触发404,而是显示标记文件文本



在我的web服务器上,如果我访问一个不存在的页面,它会生成一个适当的404,除非该页面以。aspx结尾。如果无效url以.aspx结尾,IIS将生成标记文件错误:

"这是预编译工具生成的标记文件,不应删除!"

而不是正确的404。我如何使IIS显示/为未知或无效的。aspx页面提供404 ?

例如:

http://www.mysite.com/iDontExist.txt ->生成正确的404http://www.mysite.com/iDontExist.aspx ->标记文件错误而不是404

任何想法?

您需要通过web.config

打开自定义错误
 <configuration>
  <system.web>
    <customErrors defaultRedirect="GenericError.html" mode="On">
      <error statusCode="404" redirect="PageNotFound.html"/>
    </customErrors>
  </system.web>
</configuration>

更多信息可以在MSDN

中找到

技巧是将customErrors标签的"重定向模式"设置为" ResponseRedirect "而不是" ResponseRewrite ":

<system.web>
    <customErrors mode="RemoteOnly" defaultRedirect="customError.aspx" redirectMode="ResponseRedirect">
        <error statusCode="404" redirect="customError404.aspx" />
        <error statusCode="500" redirect="customError500.aspx" />
    </customErrors>
</system.web>

相关内容

  • 没有找到相关文章

最新更新