0

我在这个问题中找到了谁将 $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 工作正常!

谢谢!

4

1 回答 1

2

我最终以不同的方式解决了这个问题,没有地图。就在我使用的位置内

        if ($request_uri ~ "^(.*)/(.*)/(.*).*$" ) {
            set  $first  $1;
            set  $second $2;
            set  $third $3;
        }

然后现在,$first、$second 和 $third 各有一部分。

于 2017-08-10T03:10:09.820 回答