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

回到顶部