IIS7 / IIS7.5 URL 重寫 HTTP 重定向到 HTTPS
阿新 • • 發佈:2019-02-10
2、IIS7 / IIS 7.5 下繫結 HTTPS 網站(購買Wildcard SSL泛域名證書可繫結多個子域名)參考上文
4、取消勾選“SSL設定”-》“要求 SSL”
5、ASP.NET站可直接修改web.config(與“6、IIS配置圖示”效果相同),例如:見<rewrite>...</rewrite>節點
<?xml version="1.0" encoding="utf-8"?> <configuration> <system.webServer> <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> </system.webServer> </configuration>
配置項說明
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="HostNameRule1">
<match url="(.*)" />
<!--匹配所有條件-->
<conditions logicalGrouping="MatchAny">
<!--當不是使用https協議訪問的時候-->
<add input="{HTTPS}" pattern="^OFF$" />
<!--並且訪問的host不是xxx.com這種,例如www.xxx.com-->
<add input="{HTTP_HOST}" pattern="^xxx\.com$" negate="true" />
</conditions>
<!--跳轉到https-->
<action type="Redirect" url="https://xxx.com/{R:1}" />
</rule>
<rule name="HTTPS redirect">
<match url="(.*)" />
<conditions>
<!--當使用HTTPS協議訪問-->
<add input="{HTTPS}" pattern="^ON$" />
<!--當訪問 https://www.xxx.com的時候 -->
<add input="{HTTP_HOST}" pattern="^xxx\.com$" negate="true" />
</conditions>
<!--跳轉到HTTPS-->
<action type="Redirect" url="https://xxx.com/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
6、IIS配置圖示(圖形化的操作過程,與上步效果相同,適用於asp/php等站)
選擇要配置的網站,如:,找到“URL重寫”,沒有的話看上面第3步
進入“URL重寫”模組,點選“新增規則”
選擇“空白規則”
名稱:HTTP to HTTPS redirect
模式:(.*)
條件輸入:{HTTP}
模式:off 或 ^OFF$
或
重定向URL:https://{HTTP_HOST}/{R:1}
重定向型別:已找到(302) 或 參閱其它(303)
或
配置完成後“應用”到當前站點:
URL重寫配置結果: