1.描述
- location是根据用户请求的URI来执行不用的应用
- location 有”定位”的意思, 根据Uri来进行不同的定位
- 在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分,定位到不同的处理方式上
2.语法
1
2
3
4
5 1location [=|~|~*|^~] uri {
2 //配置URI后需要执行的配置信息
3}
4
5
3.匹配类型
- 精准匹配
location = patt{}
- 一般匹配
location patt{}
- 正则匹配
location ~ patt{}
4.解析过程

location匹配过程:
- 先精准匹配,如果命中,立即返回结果并结束解析过程
- 判断一般匹配,如果有多个命中,“记录”下来“最长”的命中结果
- 继续正则匹配,按配置里的正则表达式顺序为准,由上到下开始匹配,一旦匹配成功,立即返回结果,并结束解析过程
- 匹配顺序:精准匹配 > 一般匹配 > 正则匹配
- 一般匹配:匹配顺序无所谓,按命中的长短确定;正则匹配:顺序有所谓,从前往后匹配
5.精准匹配
-
语法
1
2
3
4
5 1location = patt {
2 config A
3}
4
5
- 样例*
如果 $uri == patt,匹配成功,使用configA
location = / {
root /var/www/html/;
index index.htm index.html;
}
6.一般匹配
-
语法
1
2
3
4
5 1location patt {
2 config B
3}
4
5
- 样例*
location / {
root /usr/local/nginx/html;
index index.htm index.html;
}
7.正则匹配
-
语法
1
2
3
4
5 1location ~ patt {
2 config C
3}
4
5
- 样例*
location ~ image {
root /var/www/image;
index index.html;
}