如何将 nginx 位置与 URI 中间的关键字匹配

How to match nginx location with keyWord in the middle of URI

位置指令是否可以不在开头而是在 URI 中间的任何位置解析传入请求。

例如,我必须根据环境匹配位置。

位置/uat/{.......}

位置/坐/{.......}

传入的请求将是 /abc/customer/uat/ide

当环境名称不在 URI 开头时如何进行匹配。

提前致谢。

你可以有这样的东西

server {
  listen ...;
  server_name _;

  location ~* .*/sit/.*$ {
    ...
  }

  location ~* .*/uat/.* {
    ...
  }
}

正则表达式分解 ~* .*/uat/.*:

  1. ~* -> 使匹配不区分大小写
  2. .* -> 任意字符任意次数
  3. /uat/ -> 匹配/uat/
  4. .* -> 任意字符任意次数