IIS(7.5/8.0/8.5/10) 配置web.config 實現http重定向跳轉HTTPS,同時包括https不帶www跳轉到帶www
[重要通告]如您遇疑難雜癥,本站支持知識付費業務,掃右邊二維碼加博主微信,可節省您寶貴時間哦!
現在https(SSL)免費時代,沒有一個ssl感覺都入流,還有就是現在谷歌瀏覽器,360瀏覽器等一些知名的瀏覽器開始提示不是https的站點為不安全站點了,我們就有必要也來一個https了,至于如何申請SSL證書,百度一下吧,有很多的教程,大家也都可以看明白,改天再做個教程(親也可以看到此文章的時候搜索一下站內是否有了教程),我們下面進入正題;
為了保證域名統一,將訪問 http://0mbx6.cn、http://06929.com、https://06929.com 的域名都跳轉到 http://0mbx6.cn,IIS 可以進行如下配置 (需要安裝 IIS UrlRewrite 模塊,代碼注釋是為了方便理解,部署到線上請刪除中文注釋);
阿里云如何申請SSL:(待更新)
IIS UrlRewrite 模塊下載地址:(待更新)
下面貼出重定向代碼:
<?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="^www\.06929\.com$" negate="true" />
</conditions>
<!--跳轉到https-->
<action type="Redirect" url="http://0mbx6.cn/{R:1}" />
</rule>
<rule name="HTTPS redirect">
<match url="(.*)" />
<conditions>
<!--當使用HTTPS協議訪問-->
<add input="{HTTPS}" pattern="^ON$" />
<!--當訪問 https://06929.com的時候 -->
<add input="{HTTP_HOST}" pattern="^www\.06929\.com$" negate="true" />
</conditions>
<!--跳轉到HTTPS-->
<action type="Redirect" url="http://0mbx6.cn/{R:1}" redirectType="SeeOther" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
上面也包含https的不帶www跳轉到www的,下面我們再貼出帶www與不帶www都可以打開的重定向,其實就是http跳轉thtps
<?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>
兩個大家復制可能會出現各種編碼問題,我們就做一個下載;
問題未解決?付費解決問題加Q或微信 2589053300 (即Q號又微信號)右上方掃一掃可加博主微信
所寫所說,是心之所感,思之所悟,行之所得;文當無敷衍,落筆求簡潔。 以所舍,求所獲;有所依,方所成!