location用于匹配客户请求uri
例如:http://nginx.org:80/en/docs/http/ngx_http_proxy_module.html#proxy_set_header
语法:
location [修饰符] uri|pattern {...}
修饰符:
= 精确匹配,优先级最高
^~ 前缀匹配,优先级高于正则匹配
~ 正则匹配,区分大小写
~* 正则匹配,不区分大小写
没有修饰符,优先级最低
无修饰符的情况也表示uri前缀匹配,但优先级低于正则匹配
若uri为/,表示匹配所有.其他location未匹配到的均能匹配到
优先级顺序:
1. location = /uri
2. location ^~ /uri
3. location ~ pattern location ~* pattern
4. location /uri
5. location / 可匹配所有的访问请求
注:
1). 优先级的高低与location出现的顺序无关
2). 尽量使用单一的location修饰符去完成任务。不要混合多种修饰符去作业,以免出现优先级问题。
3).location匹配的是访问的url中的文件部分
url中的 / 对应的是 $document_root
root指令对应的是文件系统中的路径