location中的配置就是一个个不同的规则
按照一定的匹配顺序,访问Nginx的请求,满足哪个规则则会执行其中的相关命令
匹配顺序
= ➡️ ^~ ➡️ 其他规则 ➡️ /
语法规则
location [=||*|^~] /url { ... }
- / 开头的表示通用匹配符,任何请求都会匹配到
location / {
#rule
}
所有没有匹配到其他规则的,都会匹配该规则
- = 开头表示精确匹配
location = /login {
#rule
}
如下请求将匹配该规则
http://localhost/login
- ^~ 开头表示uri以某个字符串开头匹配
location ^~ /login {
#rule
}
如下请求将匹配该规则
http://localhost/login/status
- ~ 开头表示区分大小写的正则匹配
- ~* 开头表示不区分大小写的正则匹配
- ! 开头表示不匹配
- !~ 区分大小写
不匹配
- !~* 不区分大小写
不匹配
- !~ 区分大小写
location !~* /Login {
#rule
}
如下请求将不会匹配
该规则
http://localhost/login