「Nginx」-Nginx location 匹配规则详解
Nginx 中主要通过location来匹配请求规则,它也是区分匹配优先级的,但很多同学对此比较迷糊,本节就来详细介绍一下Nginx location的规则。
Nginx location 语法规则
location [=|~|~*|^~] /uri/ { .... }
Nginx location 模式说明

Nginx location 模式含义
乍一看是不是有点似懂非懂的感觉?没关系,我们来举例详细说明一下,加深印象与理解。
# 精确匹配URL为 /abc 的请求 location = /abc { .... }
http://xxx.com/abc 可以访问;
http://xxx.com/abc?args=123 可以访问;
http://xxx.com/abc/ 报404错误;
http://xxx.com/abc/def 报404错误;
# 精确匹配URL为 /abc/ 的请求 location = /abc/ { .... }
http://xxx.com/abc 报404错误;
http://xxx.com/abc?args=123 报404错误;
http://xxx.com/abc/ 可以访问;
http://xxx.com/abc/?args=123 可以访问;
http://xxx.com/abc/def 报404错误;
# 匹配URL以 /abc 开头的请求(在正则匹配之前) location ^~ /abc { .... }
http://xxx.com/abc 可以访问;
http://xxx.com/abc/def 可以访问;
# 正则匹配URL以 /efg 开头的请求,且URL区分大小写 location ~ /abc { .... }
http://xxx.com/efg 可以访问;
http://xxx.com/efG 报404错误;
# 正则匹配URL以 /efg 开头的请求,且URL不区分大小写 location ~* /abc { .... }
http://xxx.com/efg 可以访问;
http://xxx.com/efG 可以访问;
Nginx location 匹配优先级
- 首先精确匹配 =
- 其次前缀匹配 ^~
- 其它按location定义的顺序进行正则相关匹配
- 然后匹配不带任何修饰的前缀匹配
- 以上都匹配不到时,交给 / 通用匹配
当有规则与之匹配时,就会按当前规则进行处理,并停止匹配了。
相关推荐
-
DBA技术分享(一)-MYSQL常用查询Databases和tables
DBA技术分享(一)-MYSQL常用查询Databases和tables2025-04-27 02:23:34 -
SEO应用之PHP随机输出数组多个值2025-04-27 01:31:39
-
Hbase和MySQL的区别是什么?2025-04-27 01:13:13
-
PHP中异步执行http请求(Guzzle And Curl)
PHP中异步执行http请求(Guzzle And Curl)2025-04-27 00:21:51 -
| PHP 求2个日期相差天数,兼容性好错误率低,收藏了2025-04-27 00:15:34