前面ytkah和你們聊了Apache設置http如何301到https,如今咱們說說iis7設置http跳轉https,由於仍是有不少人在用iis服務器。首先要先安裝url rewrite module,到這裏去下載http://www.microsoft.com/en-us/download/details.aspx?id=7435,以administrator管理員的身份去安裝這個模塊,安裝完之後須要重啓一下IIS,你就會看到URL Rewrite已經出現了,以下圖所示html
第二步咱們就能夠開始設置跳轉了,好比把a.com跳到www.a.com,在a網站的根目錄下有一個web.config文件,這個就是設置跳轉規則的文件web
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WWW Redirect" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^a.com$" /> </conditions> <action type="Redirect" url="http://www.a.com/{R:0}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
若是要把b.com跳到www.a.combash
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WWW Redirect" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^b.com$" /> </conditions> <action type="Redirect" url="http://www.a.com/{R:0}" redirectType="Permanent" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
重點來了,若是有多個站點(包含www.a.com),而且這些站點都要跳轉到https://www.a.com,要如何操做呢?首先多站點用|線分割,http跳https須要另外設定一個rule規則,整合代碼以下服務器
<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <rewrite> <rules> <rule name="WWW Redirect" stopProcessing="true"> <match url=".*" /> <conditions> <add input="{HTTP_HOST}" pattern="^a.com|b.com$" /> </conditions> <action type="Redirect" url="https://www.a.com/{R:0}" redirectType="Permanent" /> </rule> <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://www.a.com" /> </rule> </rules> </rewrite> </system.webServer> </configuration>
以上算比較完美的解決方案了,不明白的能夠聯繫ytkah網站