让代码更简单

网站域名跳转www最全教程

重要:本文最后更新于2023-01-30 10:01:32,某些文章具有时效性,若有错误或已失效,请在下方留言或联系代码狗

对于大部分站长来说,域名跳转仍然是模模糊糊的概念,经常出现不知不觉就正常了,又莫名其妙异常的情况。狗哥曾经也被各种跳转支配过,为此专门写下这篇文章给自己留作记录,也给新手站长一些提示。

本文想要实现的是在全站CDN隐藏IP的情况下,将http://xxx.com、https://xxx.com、http://www.xxx.com全部跳转到https://www.xxx.com。使用宝塔面板+nginx作为网站运行环境,网站程序使用wordpress,并使用腾讯云CDN进行IP隐藏。

之所以要说这些,是因为他们都具有重定向的能力,很多人都会被这些重定向搞懵,然后浏览器提示此网页重定向次数过多

第一步,修改本地电脑host文件

使其将域名始终指向你的源站服务器IP,这样调试过程中不受CDN的影响。

打开C:\Windows\System32\drivers\etc\host文件,在最后增加一行,参考如下写法:

复制
127.0.0.1 localhost
源站IP 你的域名

注意中间的空格

第二步,使用宝塔面板配置nginx的跳转

首先添加xxx.com与www.xxx.com两个站点,下图是本站的配置

宝塔网站配置

此时你的网站通过xxx.com与www.xxx.com都能访问。

然后ssl就自行添加即可,但是注意:如果你要使用cdn跳转https,不要开启强制https访问!!!否则可以开启。开启后http://www.xxx.com就会跳转到https,http://xxx.com也会。我没有开启,尚不清楚是否存在冲突。

此时你的网站通过http://xxx.com、https://xxx.com与http://www.xxx.com、https://www.xxx.com都能访问。但不会跳转,对seo不友好。

重点,想要实现将http://xxx.com、https://xxx.com、http://www.xxx.com全部跳转到https://www.xxx.com。只需要开启宝塔nginx的重定向即可。

宝塔nginx重定向

这个规则意思是只要你请求的域名里带有xxx.com,那就全部301到https://www.xxx.com。仔细想想,将http://xxx.com、https://xxx.com全部跳转到https://www.xxx.com。

没用宝塔的可以直接编辑你的nginx配置文件,将下面这段假如其中就行了,注意修改域名。

复制
if ($host ~ '^xxx.com'){
    return 301 https://www.xxx.com$request_uri;
}

如果你没使用CDN,教程到此就结束了,所有的都跳转到了https://www.xxx.com上了。

使用cdn就不要开启宝塔的强制https访问,跳转交给CDN那边即可。理论上CDN那边跳转与本地的nginx跳转不冲突才对,但在测试过程中出现了重定向过多,有可能是我电脑有缓存,就不测试了,有兴趣的站长可是测试下。

总结一下

添加nginx301规则,解决顶级域名跳转https://www的问题,cdn或者nginx配置https强行跳转功能。其实nginx的https强行访问也是301规则,规则如下,没用宝塔面板的可以自行添加。

复制
if ($server_port !~ 443){
        rewrite ^(/.*)$ https://$host$1 permanent;
    }

重定向规则需添加到server里面。

感觉很棒!可以赞赏支持我哟~

2 打赏

评论 (0)

登录后评论
QQ咨询 邮件咨询 狗哥推荐