原来博主的主站域名是https://wnag.com.cn/
最近给网站上了CDN后,却发现原来输入https://www.wnag.com.cn/,现在不会跳转到https://wnag.com.cn/了。
在网上找了半天,基本方法都是在服务器上设置301跳转,但是自己已经配置了CDN,直接在服务器上面配置并解决不了问题。
但是看了这篇文章(DNSPOD 主域名设置显性 URL 后无法跳转到 www 域名的解决办法)后就有思路了,也发现以前的配置方法原来是错误的,以前的思路是想让www.wnag.com.cn直接把wnag.com.cn当做源站,同样回源至wnag.com.cn,但是没有配置301.
也试过去DnsPod设置显性URL跳转至wnag.com.cn,但是清除浏览器缓存也还是一直404。
加速域名为带www |
以前的 |
现在的 |
---|---|---|
源站 |
wnag.com.cn |
自己的服务器IP |
回源Host |
wnag.com.cn |
www.wnag.com.cn |
服务器 |
没设置301 |
设置301 |
开通CDN
去设置百度云 CDN 加速后台(别的 CDN 加速后台也类似)。点击添加域名,分别输入主域名和 www 域名,源站设置输入你的 IP 地址,回源Host为各自的域名。
设置CNAME
下面是 DNSPOD 的设置,把在CDN提供商里面提供的CNAME粘贴上去即可。
到此 CDN 加速后台就设置完毕了。
设置301重定向
接下来同样去宝塔设置 301 重定向。
把两个域名添加上去
接着设置重定向。
记得如果有开启HTTPS的话,也把 SSL -> 强制HTTPS 给打勾哟
或者在网站的配置文件中输入
# 301重定向代码,域名换成你自己的
if ($host ~ '^www.wnag.com.cn'){
return 301 https://wnag.com.cn/$request_uri;
}
如果没有安装宝塔的话,也可以在找出nginx网站配置文件的所在位置后,再找到对应网站的配置文件中添加301重定向代码即可
经过这么一设置,打开主域名马上就跳转到 www 域名了,测试了 https 状态码也是 301。这个打开速度要比 DNSPOD 的显性 URL 快多了,成功率也高多了。而且国人用主域名打开网站毕竟还是少数的。
这样就很完美的解决了网站开启CDN后www301跳转不到不带www的问题。