nginx location配置
语法规则: location [=|||^~] /uri/ { … }*
| — | — |
| 通配符 | 说明 |
| = |开头表示精确匹配 |
| ^~ | 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可 |
| ~ | 开头表示区分大小写的正则匹配 |
| !~ | 区分大小写不匹配 |
| !~* | 不区分大小写不匹配 |
| ~* | 开头表示不区分大小写的正则匹配 |
| / | 通用匹配,任何请求都会匹配到 |
首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。
location = / {
#规则A
}
location = /login {
#规则B
}
location ^~ /static/ {
#规则C
}
location ~ \.(gif|jpg|png|js|css)$ {
#规则D
}
那么产生的效果如下:
访问根目录/, 比如http://localhost/ 将匹配规则A;
访问 http://localhost/login 将匹配规则B;
访问 http://localhost/static/a.html 将匹配规则C;
访问 http://localhost/a.gif, http://localhost/b.jpg 将匹配规则D。