| 匹配符 | 匹配规则 | 优先级 | |---------|----------------|---------| | = | 精确匹配 | 1 | | ^~ | 以某个字符串开头 | 2 | | ~ | 区分大小写的正则匹配 | 3 | | ~* | 不区分大小写的正则匹配 | 4 | | / | 通用匹配,任何请求都会匹配到 | 5 |
2Nginx常用基础模块(原)-白眉大叔 (baimeidashu.com)
[root@Nginx conf.d]# cat testserver.conf server { listen 80; server_name www.baimei.com; location / { default_type text/html; return 200 "location /"; }
location =/ { default_type text/html; return 200 "location =/"; } location ~ / { default_type text/html; return 200 "location ~/"; } # location ^~ / { # default_type text/html; # return 200 "location ^~"; # }
}
|--------------| | 测试Location效果 |
# 优先级最高符号= [root@Nginx conf.d]# curl www.baimei.com location =/
注释掉精确匹配=, 重启Nginx
[root@Nginx ~]# curl www.baimei.com location ~/
注释掉~, 重启Nginx
[root@Nginx ~]# curl www.baimei.com location /
|--------------| | Locaiton应用场景 |
# 通用匹配,任何请求都会匹配到 location / { ... }
严格区分大小写,匹配以.php结尾的都走这个location
location ~ .php$ { ... }
严格区分大小写,匹配以.jsp结尾的都走这个location
location ~ .jsp$ { ... }
不区分大小写匹配,只要用户访问.jpg,gif,png,js,css 都走这条location
location ~* .*.(jpg|gif|png|js|css)$ { ... }
location ~* .(jpg|gif|png|js|css)$ { ... }
不区分大小写匹配
location ~* ".(sql|bak|tgz|tar.gz|.git)$" { ... }