正则表达式模式不支持#符号

时间:2014-05-27 05:34:03

标签: regex nginx

我在Nginx配置中使用正则表达式来捕获文件URL,但如果文件URL包含#符号,则正则表达式模式不会捕获它。

这是nginx配置的一部分。

location ~ ^/p/(?<secure>[\w\-=]+,\d+),(?<user>[^/]+)(?<file>/.*)$ {

}

导致错误的示例文件URL,因为它中包含#符号。

http://mydomain.com/p/KPFHELPFAQrc3rUPIUS7Cg,1401267921,1/4962/Ubuntu#6 (DVD-ISO)/Ubuntu-12-04.iso

1 个答案:

答案 0 :(得分:1)

您需要在网址中将#更改为%23

http://mydomain.com/p/KPFHELPFAQrc3rUPIUS7Cg,1401267921,1/4962/Ubuntu%236 (DVD-ISO)/Ubuntu-12-04.iso

以下是URL Escape Characters

的完整列表