nginx环境配置https后,网站http跳转至https返回302解决办法

  • 内容
  • 评论
  • 相关

nginx 网站设置https后出现302跳转解决办法 

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

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

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

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

 

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

01 

通过此次问题在以后也可以解决一个问题,就是网站需要整体维护时,又不想把整个站点关闭,可以通过修改rewrite规则达到访问所有页面都跳转到一个指定的页面的目的。

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

https://www.lmdouble.com/0907521977.html

 

上一篇: 下一篇:
微信扫一扫,赞赏小编~



淘领券,下单立减~
×