最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
nginx location 指令匹配顺序
时间:2022-06-30 18:54:55 编辑:袖梨 来源:一聚教程网
location 指令语法如下:
代码如下 | 复制代码 |
location [=|^~|~|!~|~*|!~*] uri { |
}
上述配置中[]内为可选配置,但只能使用其中一个。关于具体含义,可以参考:nginx 匹配操作符。uri可以是普通字符串或正则表达式。
匹配的顺序是先匹配普通字符串,然后再匹配正则表达式。另外普通字符串匹配顺序是根据配置中字符长度从长到短,也就是说使用普通字符串配置的location顺序是无关紧要的,反正最后nginx会根据配置的长短来进行匹配,但是需要注意的是正则表达式按照配置文件里的顺序测试。找到第一个比配的正则表达式将停止搜索。
一般情况下,匹配成功了普通字符串location后还会进行正则表达式location匹配。有两种方法改变这种行为,其一就是使用“=”前缀,这时执行的是严格匹配,并且匹配成功后立即停止其他匹配,同时处理这个请求;另外一种就是使用“^~”前缀,如果把这个前缀用于一个常规字符串那么告诉nginx 如果路径匹配那么不测试正则表达式。
总结下来location指令的匹配顺序为:
1、“=”前缀指令匹配,如果匹配成功,停止其他匹配
2、普通字符串指令匹配,顺序是从长到短,匹配成功的location如果使用“^~”前缀,则停止其他匹配。
3、正则表达式指令匹配,按配置文件里的顺序,成功就停止其他匹配。
4、如果第3步中有匹配成功,则使用该结果,否则使用第二步中的匹配结果。
相关文章
- 蚂蚁庄园今日最新答案5.2 05-02
- 蚂蚁庄园今日答案最新2024.5.2 05-02
- 小鸡庄园今天答案2024.5.2 05-02
- 今日小鸡庄园答案2024.5.2 05-02
- 我国哪座名楼有“洞庭天下水,岳阳天下楼”的美誉 蚂蚁庄园今日答案5月2日 05-02
- 旅游小知识:你会辨认海滩安全旗吗?红色旗帜通常代表 蚂蚁庄园今日答案5.2 05-02