配置IIS7-IIS10 偽靜態web.config 實現http重定向跳轉HTTPS(包括不帶www跳轉到帶www)
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
為了友好的SEO保證域名統一性,將訪問 https://0mbx6.cn、http://06929.com、https://06929.com 的域名都跳轉到 http://0mbx6.cn,
我們用IIS的偽靜態web.config 可以進行如下配置來實現我們說到的功能
(需要安裝 IIS UrlRewrite 模塊,代碼注釋是為了方便理解,部署到線上請刪除中文注釋):
IIS UrlRewrite 模塊 下載鏈接 (請點擊下面百度網盤下載)
鏈接:https://pan.baidu.com/s/1RN6IoxtEGYqVdlnfjkmcuQ
提取碼:jq3q
以下是兩種方案,根據客觀自由選擇;
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<rewrite>
<rules>
<rule name="http redirect to https" stopProcessing="true">
<match url="(.*)" />
<conditions>
<add input="{HTTPS}" pattern="^OFF$" />
<add input="{HTTPS_HOST}" pattern="^(localhost)" negate="true" />
</conditions>
<action type="Redirect" 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不是06929.com這種,例如0mbx6.cn-->
<add input="{HTTP_HOST}" pattern="^06929\.com$" negate="true" />
</conditions>
<!--跳轉到https-->
<action type="Redirect" url="https://06929.com/{R:1}" />
</rule>
<rule name="HTTPS redirect">
<match url="(.*)" />
<conditions>
<!--當使用HTTPS協議訪問-->
<add input="{HTTPS}" pattern="^ON$" />
<!--當訪問 http://0mbx6.cn的時候 -->
<add input="{HTTP_HOST}" pattern="^06929\.com$" negate="true" />
</conditions>
<!--跳轉到HTTPS-->
<action type="Redirect" url="https://06929.com/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
這里需要注意,想讓 https://06929.com 也可以跳轉到 http://0mbx6.cn,在申請 HTTPS 證書的時候,要把 0mbx6.cn 這種域名也給申請上,
否則瀏覽器會解析不出 http://0mbx6.cn,因為在進行 HTTPS 加密握手的時候就會認證失敗。
chrome 調試中發現 HTTPS 改動不生效
HTTPS 第一次連接域名的時候會和證書頒發機構進行 HTTPS 證書認證,后續的連接會緩存起來,清緩存就好了。
PS:
相關資料
- OpenSSL下載:http://gnuwin32.sourceforge.net/packages/openssl.htm
- SSL證書在線工具:https://csr.chinassl.net/
- 免費證書在線申請:https://freessl.org/
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!