将通配符/正则表达式与NGINX位置中的变量一起使用

时间:2020-10-03 19:11:30

标签: regex nginx nginx-location

我有一个看起来像这样的nginx配置,在这里我在不同的路径提供不同的构建版本。如何使用正则表达式/通配符执行此操作?我需要能够将路径(PATH1,PATH2等)捕获为变量,并在alias指令内使用它。

    location /sitename/PATH1 {
      alias /some/fldr/PATH1;
      try_files $uri /sitename/PATH1/index.html;
    }

    location /sitename/PATH2 {
      alias /some/fldr/PATH2;
      try_files $uri /sitename/PATH2/index.html;
    }

    location /sitename/PATH3 {
      alias /some/fldr/PATH3;
      try_files $uri /sitename/PATH3/index.html;
    }

1 个答案:

答案 0 :(得分:0)

检查:

location ~ ^/sitename/(?<path>PATH1|PATH2|PATH3)(?<subpath>/.*)? {
    alias /some/fldr/$path/;
    try_files $subpath /sitename/$path/index.html;
}
相关问题