繁体   English   中英

IIS7.5 URLRewrite在自定义404错误页面上不起作用

[英]IIS7.5 URLRewrite not working on custom 404 Error page

我在IIS 7.5上使用URL重写来隐藏ASP.NET Webforms应用程序的服务器公开标头,并且在我的主应用程序中一切正常。 但是,在自定义错误处理上,根本不会触发重写。

在我的web.config中:

    <outboundRules>
        <remove name="Remove Server header" />
        <rule name="Remove Server header" enabled="true">
            <match serverVariable="RESPONSE_SERVER" pattern=".+" />
            <action type="Rewrite" value=" " />
        </rule>
    </outboundRules>

也在本节中:

<modules runAllManagedModulesForAllRequests="true" />

HTTP错误:

<httpErrors errorMode="Custom">
  <remove statusCode="404" />
  <error statusCode="404" responseMode="ExecuteURL" path="/404Check.aspx" />
</httpErrors>

自定义错误:

  <customErrors mode="On" >
      <error statusCode="404" redirect="~/404Check.aspx"/>
 </customErrors>

在自定义404页上,它仅查找用于处理登录尝试的几个值。 如果找不到任何值,它将向用户显示一条错误消息。

有什么我想念的吗?

实际上在其他地方找到了一个很好的答案。 问题与内部重定向到404页面有关,该页面似乎完全绕过了URLRewrite。

使用ExecuteURL作为web.config中的404处理程序将绕过URL重写(即outboundRules),而使用其他responseModes则不会

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM