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永久重定向了。
© 版权声明
本站技术资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权请联系邮箱i@lho.cc删除!
THE END