【问题标题】:Using wildcards/regex with variables in NGINX location在 NGINX 位置使用通配符/正则表达式和变量
【发布时间】:2020-10-04 03:41:07
【问题描述】:

我有一个看起来像这样的 nginx 配置,我在不同的路径提供不同的构建版本。如何使用正则表达式/通配符来做到这一点?我需要能够将路径(PATH1、PATH2 等)捕获为变量并在别名指令中使用它。

    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;
    }

【问题讨论】:

  • 这能回答你的问题吗? stackoverflow.com/questions/64188034/…
  • PATH1 字符串在 locationaliastry_files 指令中是否相等?还有PATH2PATH3?并且/some/fldr/ 路径在所有三个位置都相同?
  • 是的,/some/fldr 在所有三个位置都相同。 /sitename/PATH{X} 的构建位于 /some/fldr/PATH{X}

标签: regex nginx nginx-location


【解决方案1】:

检查一下:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-01-09
    • 1970-01-01
    • 1970-01-01
    • 2017-01-03
    • 2014-11-11
    • 2021-09-05
    • 2013-04-17
    相关资源
    最近更新 更多