Nginx双斜线

时间:2015-01-25 16:53:40

标签: regex nginx

(?i)^/(dima|oleg)/([-a-z0-9]+)[.]+([-a-z0-9]+)[.]+(by|kz|ru)(((?<!/)/[-a-z0-9._\~\%\!\$\&\'\(\)\*\+\,\;\=\:\@]*)*)(\.php)((\?)(.*)?)?$

我用这个regexp来重写网址。它用双斜线抑制网址。你可以在regex101.com上测试它。工作良好。但是当我在access.log中向我的NGINX服务器提供双斜杠的网址时,我可以看到刚提供的网址,因为它是双斜线,我得到了请求的资源(例如.js文件)。但是由于url中的双斜杠,我期待404错误。问题是:为什么会发生这种情况?

1 个答案:

答案 0 :(得分:0)

Nginx有一个选项merge_slashes on | off。此选项是自我描述的。