Nginx环境HTTP定向跳转HTTPS

nginx环境下配置好https后,为了提升网站用户体验及优化,在nginx配置文件中添加了http跳转到https配置信息,结果http链接全部跳转到了网站的首页(即http协议全部跳转至https协议)。通过工具检测发现网站http状态码返回的为302,即暂时性重定向,正确的http状态码返回的应当为301,即永久重定向,一般情况下很少有站长对网站做302,这对网站的排名优化很不友好。既然返回的状态码不对,说明nginx的配置信息设置了错误,经查看nginx配置文件 nginx.conf发现原来在http跳转到https的规则上是跳转到HTTPS。

#Jump to HTTPS xxxxx.com
 server { 
 listen 80; 
 server_name www.xxxxxx.com; 
 rewrite ^(.*)$ https://xxxxxx.com; 
 }

这是跳转到一个固定的链接,也难怪点击所有的http页面会跳转到网站的首页,最后在代码后面添加参数 /$1 permanent 解决问题。

#Jump to HTTPS www.xxxxxx.com
 server { 
 listen 80; 
 server_name www.xxxxxx.com; 
 rewrite ^(.*)$ https://www.xxxxxx.com/$1 permanent; 
 }

再通过工具检测返回的http状态码为正常的301永久重定向了。

© 版权声明
THE END
喜欢就支持一下吧!
点赞1750 分享