当我想匹配一个带有空格的URL时,空格可以编码为%20或+.为了在Nginx正则表达式中匹配这个,我需要使用什么模式?
Nginx是否通过原样传递URL?
(?:%20|\+| )
或者,Nginx首先做一些不引用或不做的事吗?
(?:\+| )
或+正常化?
虽然我快速浏览后没有在 Nginx 文档中找到任何参考资料,但根据我的测试,Nginx 将 HTTP 代码规范化为 unicode,使得“%20”与“\s”匹配。'+' 已经在 unicode 中,不需要标准化。
例如。/route/the%20test
应与(?:\s)
然而,我倾向于使用更安全的方法,例如:(?:(\s|\%20))
| 归档时间: |
|
| 查看次数: |
1193 次 |
| 最近记录: |