如何将 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/.*
:
~*
-> 使匹配不区分大小写
.*
-> 任意字符任意次数
/uat/
-> 匹配/uat/
.*
-> 任意字符任意次数
位置指令是否可以不在开头而是在 URI 中间的任何位置解析传入请求。
例如,我必须根据环境匹配位置。
位置/uat/{.......}
位置/坐/{.......}
传入的请求将是 /abc/customer/uat/ide
当环境名称不在 URI 开头时如何进行匹配。
提前致谢。
你可以有这样的东西
server {
listen ...;
server_name _;
location ~* .*/sit/.*$ {
...
}
location ~* .*/uat/.* {
...
}
}
正则表达式分解 ~* .*/uat/.*
:
~*
-> 使匹配不区分大小写.*
-> 任意字符任意次数/uat/
-> 匹配/uat/.*
-> 任意字符任意次数