IIS URL 重写 + 重定向 + 不匹配查询字符串
IIS URL Rewrite + Redirect + does not match the querystring
当 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>
正如你所描述的,所以你需要重定向
- 域是
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
希望对您有所帮助
当 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>
正如你所描述的,所以你需要重定向
- 域是
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
希望对您有所帮助