应用生产转换时,我在web.config
中有以下重写规则。
<system.webServer>
<rewrite xdt:Transform="Insert">
<rules>
<rule name="Redirect-HTTP-TO-HTTPS" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions logicalGrouping="MatchAny">
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Found" appendQueryString="true" />
</rule>
</rules>
</rewrite>
</system.webServer>
当我将具有登台转换的单独网站部署到同一个IIS实例时,此规则不会添加到我的web.config
。然而,staging.example.com
的流量仍然被规则所吸引。
似乎生产规则仍在追赶它?
制作网址:example.com
暂存网址:staging.example.com
我如何使这条规则不那么贪心,因此它不会重定向暂存流量。
答案 0 :(得分:1)
您可以在规则中添加其他条件,以忽略staging.example.com:
<rule name="Redirect-HTTP-TO-HTTPS" patternSyntax="Wildcard" stopProcessing="true">
<match url="*" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTPS}" pattern="off" />
<add input="{HTTP_HOST}" pattern="^staging\.example\.com$" negate="true" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" redirectType="Found" appendQueryString="true" />
</rule>
请注意,浏览器通常会缓存301重定向。应用此规则后,请清除浏览器的缓存或使用隐身模式