nginx location 配置

uri 匹配规则

语法:location [ = | ~ | ~* | ^~ ] uri { ... }

uri 有四种修饰符

  • = 精确匹配
  • ~ 正则匹配(大小写敏感)
  • ~* 正则匹配 (大小写不敏感)
  • ^~ 优先前缀匹配,忽略接下来的正则匹配行为

一个 location 可以有两种定义

  • 正则表达式:以 ~(大小写敏感) 或者 ~*(大小写不敏感) 修饰
  • 前缀字符串

匹配顺序

  • 检查精确匹配,如果命中,则终止匹配
  • 检查前缀匹配,记录下最长前缀匹配,如果这个最长前缀以 ^* 为修饰符,则终止匹配,前缀匹配与配置的顺序无关
  • 检查正则匹配,以配置文件中的顺序开始,当某个正则表达式匹配成功后就终止匹配
  • 如果没有成功匹配的正则表达式,则使用之前的最长前缀匹配

一些例子

location = / {
    [ configuration A ]
}

location / {
    [ configuration B ]
}

location /documents/ {
    [ configuration C ]
}

location ^~ /images/ {
    [ configuration D ]
}

location ~* \.(gif|jpg|jpeg)$ {
    [ configuration E ]
}

匹配结果

  • / : configuration A
  • /index.html:configuration B
  • /documents/document.html:configuration C
  • /images/1.gif:configuration D
  • /documents/1.jpg:configuration E
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值