我们希望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;