文章目录
- 一、情景还原
- 二、教程
- 1.绑定域名
- 2.配置URL重写
- 3.编辑网站HSTS
一、情景还原
我有一个网站,假设域名为:baidu.com,我现在想实现的效果是:
1.在浏览器里访问
baidu.com,自动跳转到https://www.baidu.com
2.在浏览器里访问www.baidu.com,自动跳转到https://www.baidu.com
3.在浏览器里访问https://baidu.com,自动跳转到https://www.baidu.com
也就是说无论我怎么访问,最终都跳转到https://www.baidu.com即可。
众所周知,在1和2里,浏览器走的是http协议,第3个走的是https协议。
那么好,我们现在就可以把需求和问题归结一下,为:
1.让不带
www.的域名(baidu.com)访问,自动转为www.baidu.com
2.让http协议,自动升级为https协议
如此,我们便能实现随便访问1、2、3里面的地址,最终都能转到https://www.baidu.com
那么,这样有什么好处呢?
当然有:
1.容错率高:用户随便怎么输入,都能访问;
2.SEO友好:爬虫会把这四个地址归结为同一个网站,权重更高
二、教程
这里先说一下前提条件,得有 baidu.com 的 https 证书,不然还玩个毛~
1.绑定域名
先在IIS的网站里,绑定4个域名,分别为:
- http协议: baidu.com、www.baidu.com,端口80
- https协议:baidu.com、www.baidu.com,端口443
2.配置URL重写
如果没装这个模块,先装一下,具体教程可以回看我这篇文章,介绍了如何下载和安装:
《Nginx配置太复杂?本文教你将vue等类似项目发布部署到windows的IIS服务器,实现界面化清爽运维》
装好之后,添加2个空白规则,如下:
规则1:
- 名称:Redirect to HTTPS with WWW
- 匹配URL:
- 模式:(.*)
- 条件:
- 输入: {HTTPS}
- 类型:与模式匹配
- 模式:^OFF$
- 操作:
- 操作类型:重定向
- 重定向URL:https://{HTTP_HOST}/{R:1}
- 重定向类型:永久(301)
规则2:
- 名称:Add WWW for HTTPS
- 匹配URL:
- 模式:(.*)
- 条件:
- 输入:{HTTP_HOST}
- 类型:与模式匹配
- 模式:^baidu.com$
- 操作:
- 操作类型:重定向
- 重定向URL:https://www.baidu.com/{R:1}
- 重定向类型:永久(301)
3.编辑网站HSTS
选中网站,在右侧配置栏里,点击HSTS,进行配置:
至此,应该是大功告成了!
排忧解惑:
1.如果浏览器里访问时不能正确跳转,请先清除cookie等历史数据再试;
2.如果IIS里没有HSTS选项,请升级IIS版本,或安装相关补丁;
都看到这里了,各位帅哥/美女,不管有用没用,都帮忙点个赞呗,❤️谢谢~
- Author
- 吴所畏惧 2025.12.18