11月16日发现 http 状态有问题,带https无www的网址居然不会跳转,而且能正常访问。难怪弱智的百度会收录无www的网址,也就是要同时解决以下这三种网址跳转问题。
- http有www:
http://www.nzonex.com/iis-https-domain-redirect.html - http无www:
http://nzonex.com/iis-https-domain-redirect.html - https无www:
https://nzonex.com/iis-https-domain-redirect.html - 需跳转到https有www:
https://www.nzonex.com/iis-https-domain-redirect.html
茶喝多了,晚睡最后变熬夜了,研究一晚上,看规则都没什么问题,但就是没成功,容易出错,要么死循环,正常网址也301跳转到本身。躺了下,没睡几分钟,起来再测试成功,IIS 规则代码其实就是后面合并的第一种写法。
我以为导致带https无www的网址不会跳转的原因是规则问题,一直在调试规则,心态都要崩了。写文章时才发现,真正原因是腾讯云的CDN设置问题,因为加速域名是主域名,对应的源站信息应该要保持一致,也要是主域名,而不是带www的目标二级域名。
主域名的回源 HOST 是主域名(nzonex.com),这样经过重定向规则后,才会正常跳转。而不能直接把回源 HOST 改为目标域名(www.nzonex.com),这个并不能免跳转。
源站地址和回源 HOST 是不同的,源站地址决定了回源时请求到的具体 IP 地址。
而回源 HOST 决定了回源请求访问到该 IP 地址上的具体站点。回源 HOST 即回源域名,CDN 节点在回源时,访问的源站 IP 地址下具体的站点域名。
另外腾讯云官方建议源站根据加速区域配置相同地域的源站,境内、境外根据不同区域回源到不同的源站内,以保障回源效果。例如,加速区域为中国境内,请配置为境内源站回源,如果源站位于境外,由于存在跨境访问,将无法保障回源效果。
现在的DNS解析线路比较多,测试要经常切换,加上CDN的设置,看起来有点乱,容易冲突,其实直接用DNS解析最简单方便了。