我在this question找到了将$ request_uri的第一个目录映射到nginx变量的人。
我需要做2个目录和一个文件:localhost:80 / dir1 / dir2 / file.html映射到localhost:80 / $ topdir / $ secondir / $ file
我做:
map $request_uri $topdir {
~(?<captured_topdir>[^\/]*[^\/]) $captured_topdir;
}
map $request_uri $secondir{
~([^\/]?<secondir>[^\/]) $secondir;
}
map $request_uri $endpart {
~([^\/]*[^\/]?<endpart>) $endpart;
}
但是没有运气,当我在nginx上尝试时,只有$ topdir正常工作!
谢谢!
答案 0 :(得分:0)
我最终以不同的方式解决了这个问题。就在我用过的位置
if ($request_uri ~ "^(.*)/(.*)/(.*).*$" ) {
set $first $1;
set $second $2;
set $third $3;
}
然后现在,$ first,$ second和$ third各有一部分。