1.描述
- location是根据用户请求的URI来执行不用的应用
- location 有”定位”的意思, 根据Uri来进行不同的定位
- 在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分,定位到不同的处理方式上
2.语法
location [=|~|~*|^~] uri {
//配置URI后需要执行的配置信息
}
3.匹配类型
- 精准匹配
location = patt{} - 一般匹配
location patt{} - 正则匹配
location ~ patt{}
4.解析过程
location匹配过程:
- 先精准匹配,如果命中,立即返回结果并结束解析过程
- 判断一般匹配,如果有多个命中,“记录”下来“最长”的命中结果
- 继续正则匹配,按配置里的正则表达式顺序为准,由上到下开始匹配,一旦匹配成功,立即返回结果,并结束解析过程
- 匹配顺序:精准匹配 > 一般匹配 > 正则匹配
- 一般匹配:匹配顺序无所谓,按命中的长短确定;正则匹配:顺序有所谓,从前往后匹配
5.精准匹配
-
语法
location = patt { config A } -
样例*
如果 $uri == patt,匹配成功,使用configA
location = / {
root /var/www/html/;
index index.htm index.html;
}
6.一般匹配
-
语法
location patt { config B } -
样例*
location / {
root /usr/local/nginx/html;
index index.htm index.html;
}
7.正则匹配
-
语法
location ~ patt { config C } -
样例*
location ~ image {
root /var/www/image;
index index.html;
}