Nginx merge_slashes重定向

Voj*_*ěch 4 url redirect nginx

我在我的Java应用程序中使用nginx,我的问题是nginx正在合并斜杠,我无法将我的网站重定向到正确的版本.

例如:

   http://goout.cz/cs/koncerty///praha/
Run Code Online (Sandbox Code Playgroud)

被合并到

   http://goout.cz/cs/koncerty/praha/
Run Code Online (Sandbox Code Playgroud)

然后我无法识别格式错误的URL并执行重定向.

我试着设定

   merge_slashes off;
Run Code Online (Sandbox Code Playgroud)

然后:

    rewrite (.*)//(.*) $1/$2 permanent;
Run Code Online (Sandbox Code Playgroud)

但是这没有效果,并且//保留在URL中.

我怎样才能做到这一点?

小智 6

试试这个(未经测试):

merge_slashes off;
rewrite (.*)//+(.*) $1/$2 permanent;
Run Code Online (Sandbox Code Playgroud)

如果有多组斜线,它可能会导致多次重定向.

像这样:

http://goout.cz/////cs/koncerty///praha/
Run Code Online (Sandbox Code Playgroud)

可能会去:

http://goout.cz/cs/koncerty///praha/
Run Code Online (Sandbox Code Playgroud)

最后:

http://goout.cz/cs/koncerty/praha/
Run Code Online (Sandbox Code Playgroud)