Nginx路径匹配规则小结
1.路径配置的分类
在nginx中,一共有4种不同的路径配置方法
= - Exact match
^~ - Preferential match
~ && ~* - Regex match
no modifier - Prefix match
#路径完全一样则匹配
location = path {
}
#路径开头一样则匹配
location ^~ path{
}
#正则匹配,大小写敏感
location ~ path{
}
#正则匹配,大小写不敏感
location ~* path{
}
#前缀匹配
location path{
}
上面的执行顺序是,优先查看Exact match,若存在,则停止。如不存在,则进入Preferential match。之后在进入Regex match,先看大小写敏感的规则,再看大小写不敏感的规则.最后进入Prefix match.
= --> ^~ --> ~ --> ~* --> no modifier
在每一个同类型的匹配规则中,按照他们出现在配置文件中的先后,一一对比。
2.例子
location /match {
return 200 'Prefix match: will match everything that starting with /match';
}
location ~* /match[0-9] {
return 200 'Case insensitive regex match';
}
location ~ /MATCH[0-9] {
return 200 'Case sensitive regex match';
}
location ^~ /match0 {
return 200 'Preferential match';
}
location = /match {
return 200 'Exact match';
}
/match # => 'Exact match'
/match0 # => 'Preferential match'
/match1 # => 'Case insensitive regex match'
/MATCH1 # => 'Case sensitive regex match'
/match-abc # => 'Prefix match: matches everything that starting with /match'
到此这篇关于Nginx路径匹配规则小结的文章就介绍到这了,更多相关Nginx路径匹配内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341