IIS(7.5/8.0/8.5/10) 配置web.config 实现http重定向跳转HTTPS,同时包括https不带www跳转到带www
[重要通告]如您遇疑难杂症,本站支持知识付费业务,扫右边二维码加博主微信,可节省您宝贵时间哦!
现在https(SSL)免费时代,没有一个ssl感觉都入流,还有就是现在谷歌浏览器,360浏览器等一些知名的浏览器开始提示不是https的站点为不安全站点了,我们就有必要也来一个https了,至于如何申请SSL证书,百度一下吧,有很多的教程,大家也都可以看明白,改天再做个教程(亲也可以看到此文章的时候搜索一下站内是否有了教程),我们下面进入正题;
为了保证域名统一,将访问 https://www.laoliang.net、http://06929.com、https://06929.com 的域名都跳转到 https://www.laoliang.net,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这种,例如www.laoliang.net-->
<add input="{HTTP_HOST}" pattern="^www\.06929\.com$" negate="true" />
</conditions>
<!--跳转到https-->
<action type="Redirect" url="https://www.laoliang.net/{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="https://www.laoliang.net/{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号又微信号)右上方扫一扫可加博主微信
所写所说,是心之所感,思之所悟,行之所得;文当无敷衍,落笔求简洁。 以所舍,求所获;有所依,方所成!