Nginx中location匹配规则

1.location匹配规则

访问到nginx的请求,可以对server做判断端口监听和域名匹配,一旦成功,就要根据uri地址比对location中的匹配规则,入门案例中使用的 / 算是通配逻辑,实际location有很多的匹配的细节

1.1匹配规则

  • 精确匹配:uri地址必须等于location中定义的值

           例如 location =/image

  • 有修饰的字符串前缀匹配: uri地址以前缀开始

           例如 location ^~/image

  • 无修饰的字符串前缀匹配: uri地址以前缀开始

           例如 location /image

  •  和有修饰的区别在于 有修饰的前缀匹配可以指定多级前缀

           例如: location ^~/image/haha/kaka

  • 无修饰的前缀匹配不能指定多级前缀,只能一级

           例如: location /image

  • 正则匹配
  • 不区分大小写的正则

          例如:location ~*正则表达式

  • 区分大小写正则

          例如:location ~正则表达式

  • 通配 /

          例如:location /

 

不同匹配规则的存在使得同一个server括号内可以存在多个location

例如:

server{

location 1

location 2

location 3

}

1.2优先级判断

  • 根据规则介绍顺序,优先级从上到下
    • 精确匹配>有修饰的前缀>无修饰的前缀>正则匹配>通配
  • 同一种匹配规则有包含关系时
    • 有修饰的字符串前缀匹配有包含关系时,以最大前缀匹配长度为优先级最高来判断
    • 正则有包含关系时,配置在上的location的优先级高
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值