Location 匹配规则
多个location匹配顺序优先级,
精确匹配 >> ^~开头的前缀匹配 >> 正则匹配 >> 不带任何修饰符的前缀匹配 >> / 通用匹配
当匹配成功时停止匹配。前缀匹配当包含映射关系时,按最大匹配原则匹配(匹配的最多的字符串)。
必选规则1:直接匹配网站的索引页,通过域名访问网站比较频繁,使用匹配规则会加速访问。
location =/ {
proxy_pass = http://xxxx:8080/index
}
必选规则2:处理静态文件请求,两种匹配模式(目录匹配,后缀匹配)
location ^~ /static/ {
root /webroot/static/;
}
location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {
root /webroot/res/;
}
必选规则3:通用规则,转发动态请求到后端服务器
location / {
proxy_pass http://xxxx:8080/
}
匹配模式 | 模式说明 |
---|---|
location =/uri | “=”表示精确匹配,只有完全匹配上才能生效。 |
location ^~/uri | “^~”对url路径进行前缀匹配,优先级大于正则。 |
location ~pattern | “~”区分大小写的正则匹配。 |
location ~*pattern | “~*”不区分大小写的正则匹配。 |
location /uri | 没有任何修饰符的前缀匹配,优先级小于正则。 |
location / | 通配符,任何没有匹配到其它location的请求都会匹配到,相当于switch中的default |