不是正则表达式的专家,
在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级别...] / file.ext
只返回前2个级别,正则表达式应该返回
/ 1级/ 2级别
请注意:
子文件夹(lavel1,lavel2)将是动态文件夹名称,而不是静态文件夹。
nginx的$ url变量不包含原始请求中的协议/服务器/端口。所以对/ level1 / level2 / level3 / [...] / file.ext执行正则表达式
任何帮助将不胜感激。