IIS url 为多个域重写为 https,但不是全部
IIS url rewrite to https for multiple domains, but not all
我在一个解决方案中有 +10 个域,其中大约一半附加了 SSL 证书。我似乎无法创建一个规则来将正确的规则强制到 https。
我可以为他们每个人制定一个规则,但我觉得这应该有效:
<rule name="HTTP to HTTPS redirect 1" patternSyntax="ECMAScript" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www.domainNo1.dk$" />
<add input="{HTTP_HOST}" pattern="^www.domainNo2.dk$" />
<add input="{HTTP_HOST}" pattern="^www.domainNo3.dk$" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
这让 domain4、domain5 等单独存在。
不幸的是,当我在规则中有多个域时,它不会启动。我猜这可能是默认的逻辑分组:
logicalGrouping="MatchAll"
但是设置:
logicalGrouping="MatchAny"
将使网站完全无法运行。重定向到 https 后,它继续重定向页面,导致 "ERR_TOO_MANY_REDIRECTS".
我还以为这是
处理的
<add input="{HTTPS}" pattern="off" />
但是没有。
希望大家帮帮忙。
您可以使用以下重写规则来匹配多个域:
<rule name="http to https with multiple domain name" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="www.sample1.com|www.sample3.com" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
我在一个解决方案中有 +10 个域,其中大约一半附加了 SSL 证书。我似乎无法创建一个规则来将正确的规则强制到 https。
我可以为他们每个人制定一个规则,但我觉得这应该有效:
<rule name="HTTP to HTTPS redirect 1" patternSyntax="ECMAScript" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTP_HOST}" pattern="^www.domainNo1.dk$" />
<add input="{HTTP_HOST}" pattern="^www.domainNo2.dk$" />
<add input="{HTTP_HOST}" pattern="^www.domainNo3.dk$" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>
这让 domain4、domain5 等单独存在。
不幸的是,当我在规则中有多个域时,它不会启动。我猜这可能是默认的逻辑分组:
logicalGrouping="MatchAll"
但是设置:
logicalGrouping="MatchAny"
将使网站完全无法运行。重定向到 https 后,它继续重定向页面,导致 "ERR_TOO_MANY_REDIRECTS".
我还以为这是
处理的<add input="{HTTPS}" pattern="off" />
但是没有。
希望大家帮帮忙。
您可以使用以下重写规则来匹配多个域:
<rule name="http to https with multiple domain name" stopProcessing="true">
<match url="(.*)" />
<conditions logicalGrouping="MatchAll">
<add input="{HTTP_HOST}" pattern="www.sample1.com|www.sample3.com" />
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" />
</rule>