Nginx下HTTPS一级域名301到www域名设置

为什么搞这个已经忘记了,只记得自己迷迷糊糊查看大佬大象笔记的博客,可能因为知道大佬有写过一篇有关SEO相关的文章,然后便不知道怎么回事,我便同时查询了一下大佬的网站和我的网站301状态了。

大佬博客的这种访问状态其实是我想要的,而像我这种菜鸟都知道像大象网默认情况下,www.kelephant.com和kelephant.com其实在搜索引擎优化中后者权重会更高,排除其他因素的话会优先收录后者。

但因为很多人都习惯在网址前加上www开头,所以在创建网站的同时,我们通常把网站都支持www来访问,这也是为了照顾普通人吧。

大佬的博客无论怎么的话访问都会跳到HTTPS开头的WWW域名,而查看HTTP状态也是如此,我查询大象网的时候有了如下反馈。

www.kelephant.com HTTP状态码 301 
网页返回HEAD信息 Server: nginx Date: Fri, 28 Jun 2019 02:19:40 GMT 
Content-Type: text/html Content-Length: 178 
Connection: keep-alive 
Location: https://www.kelephant.com/ 正是我所需要的
kelephant.com HTTP状态码 301
网页返回HEAD信息 Server: nginx Date: Fri, 28 Jun 2019 02:20:22 GMT
Content-Type: text/html Content-Length: 178 
Connection: keep-alive 
Location: https://kelephant.com/ 不是我需要的,我需要的是同样显示https://www.kelephant.com

在网上搜索很久后看的我直迷糊,然后咨询了上述博主(十分感谢),我按照博主的Nginx配置文件设置后发现网站无法访问了,提示有多个重定向,后来又看了看原来有的地方自己输入错了。

下面直接贴代码吧,一般虚拟主机配置文件位于:/usr/local/nginx/conf/vhost/域名.conf,我们先在配置文件中的80端口root下面一行加入如下代码。

return      301 https://www.kelephant.com$request_uri;

然后在443端口root下面一行加入如下代码。

          if ($scheme != "https") {
            return 301 https://$host$request_uri;
        }          
          if ($host != "www.kelephant.com") {
            return 301 https://www.kelephant.com$request_uri;
        }

修改并保存完成后,在SSH端中执行:/etc/init.d/nginx restart 重启nginx,使其生效。

kelephant.com HTTP状态码 301 
网页返回HEAD信息 Server: nginx Date: Fri, 28 Jun 2019 02:23:27 GMT 
Content-Type: text/html Content-Length: 178 
Connection: keep-alive 
Location: https://www.kelephant.com/ 现在正常了
赞(0) 打赏
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《Nginx下HTTPS一级域名301到www域名设置》
文章链接:https://www.kelephant.com/oam/3901.html
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。

登录

找回密码

注册