第一种:使用==rewrite==指令,通过正则匹配所有的URI后再去掉开头第一个/(反斜线)。
rewrite ^/(.*)$ https://www.linux.com/$1;
第二种:同样使用rewrite指令,不同的是通过==$request_uri==变量匹配所有的URI。
rewrite ^ https://www.linux.com$request_uri? permanent;
这样写的好处是省去了去掉开头第一个反斜线的过程,正则匹配上性能更优。 第三种:使用==return==指令,通过301状态码和==$request_uri==参数,直接告诉Nginx这是个301重定向和抓取指定URI。
return 301 https://www.linux.com$request_uri;
这种方法是性能上最优的,因为rewrite指令有很多写法和规则,执行完所有正则匹配后,Nginx 才会知道这是一个301永久重定向。
通过以上三种写法介绍,我们可以看出return指令在301跳转上比rewrite指令性能上更加有优势。虽然在访问量不大的情况下几种写法的性能表现上区别并不大,不过在海量访问中一个小小的优化也能在提升业务系统性能上起到不小的作用哟!
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有