[英]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.