微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nginx小技巧——几种常见实现301重定向方法上的区别

Nginx小技巧——几种常见实现301重定向方法上的区别》要点:
本文介绍了Nginx小技巧——几种常见实现301重定向方法上的区别,希望对您有用。如果有疑问,可以联系我们。

nginx

Nginx下常见的301跳转有以下三种,虽然都能达到同样的目的.但是三种写法上还是有区别的,主要的区别是在正则匹配的性能上.

第一种:使用rewrite指令,通过正则匹配所有的URI后再去掉开头第一个/(反斜线).

rewrite ^/(.*)$ https://www.hi-linux.com/$1;

第二种:同样使用rewrite指令,不同的是通过$request_uri变量匹配所有的URI.

rewrite ^ https://www.hi-linux.com$request_uri? permanent;

这样写的好处是省去了去掉开头第一个反斜线的过程,正则匹配上性能更优.

第三种:使用return指令,通过301状态码和$request_uri参数,直接告诉Nginx这是个301重定向和抓取指定URI.

return 301 https://www.hi-linux.com$request_uri;

这种方法性能上最优的,因为rewrite指令有很多写法和规则,执行完所有正则匹配后,Nginx 才会知道这是一个301永久重定向.

通过以上三种写法介绍,我们可以看出return指令在301跳转上比rewrite指令性能上更加有优势.虽然在访问量不大的情况下几种写法的性能表现上区别并不大,不过在海量访问中一个小小的优化也能在提升业务系统性能上起到不小的作用哟!

原文来自微信公众号:运维之美

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐