我想配置我的IIS重定向所有沒有www調用www調用,包括https 第一部分是很容易,但我還沒有找到一個解決方案,也將當您的綁定啓用了https時工作。IIS7.5重定向非www到www也與https
所以我想這兩個 http://domain.com/ 和 https://domain.com/ 和 http://www.domain.com/ 所有被重定向到:
有什麼建議?
我想配置我的IIS重定向所有沒有www調用www調用,包括https 第一部分是很容易,但我還沒有找到一個解決方案,也將當您的綁定啓用了https時工作。IIS7.5重定向非www到www也與https
所以我想這兩個 http://domain.com/ 和 https://domain.com/ 和 http://www.domain.com/ 所有被重定向到:
有什麼建議?
This ended up working for me:
<rewrite>
<rules>
<rule name="HTTP to HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" ignoreCase="true" />
</conditions>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</rule>
</rules>
</rewrite>
<rewrite>
<rules>
<rule name="Non www HTTP to HTTPS" patternSyntax="ECMAScript" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" />
<add input="{HTTP_HOST}" pattern="^www" negate="true" />
</conditions>
<action type="Redirect" url="https://www.{HTTP_HOST}{REQUEST_URI}" />
</rule>
<rule name="Non www HTTPS to www HTTPS" patternSyntax="ECMAScript" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="On" />
<add input="{HTTP_HOST}" pattern="^www" negate="true" />
</conditions>
<action type="Redirect" url="https://www.{HTTP_HOST}{REQUEST_URI}" />
</rule>
<rule name="HTTP to HTTPS" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="off" />
<add input="{HTTP_HOST}" pattern="www*" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}{REQUEST_URI}" />
</rule>
</rules>
</rewrite>
@Josh:您的回答適用於第一次請求。 它將以「https://www」結束,非常完美。 但是,如果我然後刪除「www。」從地址,它會失敗,像下面的圖片。
我仍然有一個問題。 如果你去這裏: https://www.skaljakke.dk/skaljakker-damer 這一切似乎都很好,但如果你刪除了「www。」它會失敗。你有什麼建議嗎? –
@ user3305839您是否擁有包含www的SSL證書?和只是domain.com? Web服務器必須能夠首先進行握手,然後進行重定向。如果您沒有涵蓋兩者的證書,瀏覽器會檢測到安全性異常。 – Josh