唯一区别:正则匹配的性能区别
rewrite ^/(.*)$ https://example.com/$1;
rewrite ^ https://example.com$request_uri? permanent;
return 301 https://example.com$request_uri;
第一种 rewrite 写法是抓取所有的 URI 再减去开头第一个 / (反斜线)。
第二种写法用了$request_uri 省去了减去开头第一个反斜线的过程,正则匹配上性能更优。但仍不如第三种写法,因为 rewrite 有很多写法和规则,执行到最后 nginx 才知道这是一个 301 永久重定向。
第三种则直接 return 301 + $request_uri,直接告诉 nginx 这是个 301重定向,直接抓取指定URI。
所以以上三种写法,第三种性能更优一些
本文探讨了Nginx中三种不同的重定向配置方法,并分析了它们的性能差异。第一种使用正则表达式捕获所有URI,第二种利用$request_uri简化正则匹配,最后一种直接通过return指令进行301重定向,直接告知Nginx重定向类型,从而实现最优性能。
2万+

被折叠的 条评论
为什么被折叠?



