Nginx知识点

匹配规则

文字描述

  1. 如果有精确匹配,则会进行精确匹配,成功的话返回结果
  2. 普通匹配和顺序无关,根据匹配的长短来取匹配结果
  3. 正则匹配和顺序有关,从上往下,匹配成功就返回结果
  4. 统配,都可以匹配

1648549562146.png

1
(location = uri {}) > (location 完整路径 {}) > (location ^~ 路径 {}) > (location ~,~* 正则顺序 {}) > (location 部分起始路径 {}) > (location / {})

案例示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
location = /php.php {
echo '精确匹配';
}
location ^~ /php/ {
echo '标准匹配,仅前缀';
}
location ~ \.(php) {
echo '区分大小写,小写';
}
location ~ \.(pHp) {
echo '区分大小写,大写';
}
location ~* \.(php)$ {
echo '不区分大小写';
1
2
3
4
5
6
7
8
9
10
[root@www quail]# curl 192.168.249.132/php.php
精确匹配
[root@www quail]# curl 192.168.249.132/php/php.php
标准匹配,仅前缀
[root@www quail]# curl 192.168.249.132/pp.php
区分大小写,小写
[root@www quail]# curl 192.168.249.132/pp.pHp
区分大小写,大写
[root@www quail]# curl 192.168.249.132/php.pHP
不区分大小写
------ 本文结束 ------

版权声明

Medivh's Notes by Medivh is licensed under a Creative Commons BY-NC-ND 4.0 International License.
Medivh创作并维护的Medivh's Notes博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证
本文首发于Medivh 博客( http://www.mknight.cn ),版权所有,侵权必究。