正则表达式nginx删除尾部斜杠不适用于2个文件夹?

时间:2018-05-11 13:33:54

标签: regex nginx url-rewriting

我们希望nginx永久重定向url,并使用斜杠到非斜杠网址。我们找到: https://www.scalescale.com/tips/nginx/nginx-remove-trailing-slash/

所以我们把:

rewrite ^/(.*)/$ /$ permanent;

在nginx中,问题是它一定不适用于某些文件夹。所以我们发现: remove trailing slash in nginx with some certain cases ignored

我们将其更改为:

rewrite ^/(?!admin)(.*)/$ /$ permanent;

然后服务器无法启动:

invalid number of arguments in "rewrite" directive in /opt/www/folder/.nginx:5

而且:我们想要排除2个文件夹。 从重写规则中排除文件夹的正确正则表达是什么?

谢谢,

巴特

编辑google来这里的人:

答案是有效的...唯一奇怪的是标准在没有$ 1的情况下工作:

rewrite ^/(.*)/$ /$ permanent;

现在我们进行了排除,如果没有$ 1,它就不再起作用....但是现在这样做了:

# remove trailing slashes
rewrite ^/(?!folder1|folder2)(.*)/$ /$1 permanent;

0 个答案:

没有答案