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