繁体   English   中英

IIS网址重写为多个域的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>

在此处输入图片说明

问候,

哈尔帕

暂无
暂无

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

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