站点图标 Linux-技术共享

网站开启CDN后,www301,跳转到不带www

原来博主的主站域名是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的问题。

退出移动版