nginxlocation匹配优先级
1、精确匹配
location = /foo/bar { // 严格匹配 完全相等 匹配成功 停止检索
}
2、字符串前缀匹配
location ^~ /foo { // 字符串前缀匹配 匹配成功 停止检索
}
3、正则匹配
location ~ /foo/.* { // 正则 区分大小写 匹配成功 继续搜索,看是否有更长匹配
}
location ~* /FoO/.* {
// 正则 不区分大小写 匹配成功 继续搜索,看是否有更长匹配
}
4、字符串普通匹配
location / { // 匹配成功 继续搜索,看是否有更长匹配
}
location /foo {
// 匹配成功 继续搜索,看是否有更长匹配
}
location /foo/bar {
// 匹配成功 继续搜索,看是否有更长匹配
}
匹配优先级
精准匹配 > 字符串前缀匹配 > 正则匹配 > 字符串普通匹配
注意:
字符串匹配 搜索 先于正则匹配,但是只是记录下最长的匹配(如果^~是最长匹配,则会直接命中,停止搜索正则),然后继续正则匹配,如果有正则匹配,则命中正则匹配,如果没有正则匹配,则命中最长的字符串匹配。
以上是 nginxlocation匹配优先级 的全部内容, 来源链接: utcz.com/z/515707.html