(?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错误。问题是:为什么会发生这种情况?
答案 0 :(得分:0)
Nginx有一个选项merge_slashes on | off。此选项是自我描述的。