【问题标题】:IIS URL Rewrite + Redirect + does not match the querystringIIS URL 重写 + 重定向 + 与查询字符串不匹配
【发布时间】:2019-11-17 20:24:09
【问题描述】:

当 url 包含 www 时,我需要重定向到另一个网站。并且查询字符串与特定值不匹配。无论条件如何,我总是被重定向

 <rewrite>
                <rules>
                    <rule name="Redirect to Landing Page" stopProcessing="true">
                        <match url="(.*)" />
                        <conditions logicalGrouping="MatchAny">
                            <add input="{HTTP_Host}" pattern="www.dev.MyWebpage.com/MCPrivacyNotice" negate="true" />
                        </conditions>
                        <action type="Redirect" url="https://www.myWebPage.com" />
                    </rule>
                </rules>
            </rewrite>

【问题讨论】:

  • {HTTP_Host} 仅表示www.dev.MyWebpage.com 不是完整的网址。这对你有意义吗?
  • 感谢更新,但无论条件如何,我仍然可以重定向 myWebPage.com" />
  • 了解如何编辑您的问题以包含新信息。还学习如何调试规则,docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/…

标签: redirect iis url-rewriting iis-7.5 iis-10


【解决方案1】:

正如你所描述的,所以你需要重定向时

  • 域是www.dev.MyWebpage.com
  • 请求 uri 是 /MCPrivacyNotice

所以我认为这可能是你的答案

    <rule name="Redirect to Landing Page" stopProcessing="true"> 
        <match url="(.*)" /> 
            <conditions logicalGrouping="MatchAll"> 
                <add input="{HTTP_HOST}" pattern="www.dev.MyWebpage.com" /> 
                <add input="{REQUEST_URI}" pattern="/MCPrivacyNotice" negate="true" /> 
            </conditions> 
        <action type="Redirect" url="myWebPage.com" /> 
    </rule>

注意logicalGrouping="MatchAll" 匹配所有条件。在您的问题和更新中,您使用了logicalGrouping="MatchAny",这意味着来自域www.dev.MyWebpage.com 的每个请求都将被重定向

还有一点,/MCPrivacyNotice{REQUEST_URI}PATH_INFO 而不是 QUERY_STRING 你应该选择正确的模块。详情请查看https://docs.microsoft.com/en-us/iis/extensions/url-rewrite-module/url-rewrite-module-configuration-reference

希望对你有帮助

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-04
  • 1970-01-01
  • 2013-10-10
  • 2011-01-24
  • 2014-05-06
  • 1970-01-01
相关资源
最近更新 更多