Nginx知识点

匹配规则

文字描述

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

1648549562146.png

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

案例示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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
11
[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
不区分大小写