我想将不带斜杠的URL重定向到带斜杠的路径。所以/ some-url到/ some-url /
其余的网址,例如
应该保持不重定向。
我发现这篇文章https://www.ateamsystems.com/tech-blog/nginx-add-trailing-slash-with-301-redirect-without-if-statements/,作者建议使用以下规则:
location ~ ^([^.\?]*[^/])$ {
try_files $uri @addslash;
}
location @addslash {
return 301 $uri/;
}
不幸的是,这并没有真正起作用。因为url / some-url?q = v被重定向到/ some-url /
您能否建议如何更改正则表达式以使其正常工作?
这应该可以解决问题:
location / {
if ($request_uri ~ ^([^.\?]*[^/])$) {
return 301 $1/;
}
try_files $uri $uri/ /index.php$is_args$args;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句