如何编写一个正则表达式来匹配具有保留字符(如“+”、“-”)的路径节点?例如:
https://e.example.com/foo+/bar/file/test.txt
需要重写为https://e.example.com/bar/file/test.txt
我试过了rewrite ^/foo+(/.*)$ break;
,但它无法匹配字符串。
有什么建议么?
如何编写一个正则表达式来匹配具有保留字符(如“+”、“-”)的路径节点?例如:
https://e.example.com/foo+/bar/file/test.txt
需要重写为https://e.example.com/bar/file/test.txt
我试过了rewrite ^/foo+(/.*)$ break;
,但它无法匹配字符串。
有什么建议么?
In
nginx
rewrite
指令使用规范化的 URI 进行匹配。规范化 URI 不包括查询参数或索引搜索参数。您也许可以
map
在这里使用:在该
server
块中,您将拥有:takes ,其中包含资源
map
和$request_uri
查询参数的完整路径。第一行正则表达式捕获+
符号后的所有内容并将其设置为$filefromarg
变量。然后,在
try_files
用作检查要服务的资源的路径的部分中。