不是正则表达式的专家,
在nginx项目上工作,我们正在寻找一种方法来映射uri的前两(2)个目录级别
map $uri $my_uri {
~^(?<base_uri>.*)/[^/]+$ $base_uri;
default $uri;
}
到目前为止,此代码返回base_uri而没有域/服务器或任何文件名
但我需要这个原始请求:
http://example.com/level1/level2/file.ext
http://example.com/level1/level2/level3/file.ext
[http://example.com/level1/level2/level3/level4/...more levels ...] / file.ext
只返回前2个级别,正则表达式应该返回
/ 1级/级别2
请注意:
-
子文件夹(lavel1,lavel2)将是动态文件夹名称,而不是静态文件夹 .
-
nginx的$ url变量不包括原始请求中的协议/服务器/端口 . 所以对/level1/level2/level3/[...]/file.ext执行正则表达式
任何帮助将不胜感激 .