详解Nginx几种常见实现301重定向方法上的区别
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永久重定向。
相关推荐
服务器端攻城师 2020-05-04
朱培知浅ZLH 2020-11-16
Junzizhiai 2020-10-10
zhangbingb 2020-09-21
ROES 2020-08-17
ningningmingming 2020-07-28
Jiajinjin 2020-07-27
懒人的小窝 2020-07-04
wykpaopao 2020-06-28
lishaokang 2020-06-12
Greatemperor 2020-06-10
谢育政 2020-05-27
wanggongzhen 2020-05-26
ITlover00 2020-05-07
zhongcanw 2020-05-08
DAV数据库 2020-05-07
ningningmingming 2020-05-01
yuleng测试赛 2020-04-11
tvk 2020-04-06