[Nginx使用PCRE引擎评估正则表达式,documentation state不使用/
分隔符,因此我们不必像在标准正则表达式中那样在URI中转义正斜杠/
。有效的Nginx正则表达式的示例是location ~* /myapp/.+\.php$
BUT以下代码转义了正斜杠
location ~ ^\/(?:index|core\/ajax\/update|ocs\/v2|ocm-provider\/.+)\.php(?:$|\/)
\/
在此上下文中到底是什么意思,为什么在文档中另有说明时需要它?
虽然Nginx不需要转义正斜杠/
,但它也不拒绝转义它,就像我们可以转义任何其他字符一样。
正则表达式特殊字符\
的第一个目的是转义下一个字符,因此nginx只是将\/
转换/匹配为/
,就像它将\j
转换/匹配为文字j
(该示例毫无用处,至少要匹配\j
匹配文字j
)。