在Nginx中重写

在Nginx中重写,nginx,url-rewriting,Nginx,Url Rewriting,我需要在Nginx中的conf文件中输入一组或重写。我不是很有经验,所以我复制了我以前的发现,例如 location = /index.php/blog/blog/xxx/yyy/ { return 301 /index.php/blog/xxx/yyy/; } 然而,我被告知最好的方法是: location ^~ /index.php/blog/blog/xxx/yyy/ { rewrite ^/index.php/blog/xxx/yyy/; } 哪一个id是正确的?第一个更

我需要在Nginx中的conf文件中输入一组或重写。我不是很有经验,所以我复制了我以前的发现,例如

location = /index.php/blog/blog/xxx/yyy/ {
  return 301 /index.php/blog/xxx/yyy/;
 }
然而,我被告知最好的方法是:

location ^~ /index.php/blog/blog/xxx/yyy/ {
  rewrite ^/index.php/blog/xxx/yyy/;
 }

哪一个id是正确的?

第一个更正确,无论是
位置还是
返回,它都会更快

FWIIW,您的第二个代码段在
^
之后的
重写
中似乎缺少一个空格,而且无论是
位置
还是
重写
,效率都较低

参考资料: