1)语法规则:
location [=|~|~*|^~] /uri/ {...}
2)匹配顺序
匹配的原则为:匹配模式及顺序
带前缀普通匹配最优先, = 前缀优先级最高
location = /uri =开头表示精确匹配,只有完全匹配上才能生效。
location ^~ /uri ^~开头对URL路径进行前缀匹配,并且在正则之前。
正则匹配
location ~ pattern ~开头表示区分大小写的正则匹配
location ~* pattern ~*开头表示大写的正则匹配
不带前缀匹配
location /uri 不带任何修饰符,也表示前缀匹配,但是在正则匹配之后。
location / 通用匹配,任何未匹配到其它location的请求都会匹配到。
首先匹配 = ,其次匹配 ^~ ,其次是按文件中顺序的正则匹配,最后交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。
备注:location后面写正则匹配时,最后一定以 $ 结束,例如:
server {
location ~ \.(gif|jpg|png|js|css)$ {
规则A
}
}