现在很多网站为了安全,开启了 SSL 连接,那么开启 SSL 连接之后,如何将对应的 http 访问自动跳转到 https 上呢?之前介绍了 IIS 用 web.config 做域名的301跳转的方法,同样使用 IIS 可以用 web.config 实现 http 网址自动301跳转到 https 网址。
上一篇文章是利用访问域名的方式进行301跳转,也就是判断访客的域名,然后进行跳转。可是 http 和 https 访问的网址是一样的,这样上面这篇文章的 web.config 代码就不能使用了。
其实换个思路就清楚了,那么判断域名不行了,我们是不是可以直接判断 https 状态呢?非 https 状态自动跳转到 https 对应网址。
web.config 代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | <? xml version = "1.0" encoding = "UTF-8" ?>
< configuration >
< system.webServer >
< rewrite >
< rules >
< rule name = "HTTPS XXX" stopProcessing = "true" >
< match url = ".*" />
< conditions >
< add input = "{HTTPS}" pattern = "^off" />
</ conditions >
< action type = "Redirect" url = "https://www.XXX.cn/{R:0}" redirectType = "Permanent" />
</ rule >
</ rules >
</ rewrite >
</ system.webServer >
</ configuration >
|
将上面代码复制到 web.config 中,同样将 www.XXX.cn 替换为自己的网址,试一下是不是成功了?