标签:查看 span operator 如何 正则表达 表达 基本 日志管理 html
location是在server中匹配本地的目录,根据不同的url定位到不同的内容上。
location [=|~|~*|^~] pattern {
}
# 中括号中不写任何参数表示一般匹配,也可以写参数
# location = patt {} [精准匹配]
# location patt {} [一般匹配]
# location ~ patt {} [正则匹配]
# location ~* {} [正则匹配忽略大小写]
# location ^~ {} []
如何发挥作用呢?
首先查看是否有精准匹配,如果有,则停止匹配过程。
location = patt {
config A
}
如果 $uri == patt, 匹配成功,使用 configA
location = / {
root /var/www/html
index index.htm
}
location / {
root /data/html
index index.html
}
上面配置如果访问http://xxx.com/
定位流程是
精确匹配中 “/” , 得到 index 页为 index.htm
再次访问 /index.htm,此次内部转跳uri已经是“/index.htm”,所以只能匹配中一般匹配
在/data/html中查找文件,访问路径是/data/html/index.htm
如果一般匹配能够匹配上,nginx将继续查找是否有正则匹配能够匹配上,如果有就匹配正则匹配。正则匹配是比一般匹配优先的。
总结:location的命中过程
先判断精准命中,如果命中,立即返回结果并结束匹配过程
判断普通命中,如果有多个命中,记录下来最长的命中结果,但并不结束
继续判断正则表达式的匹配结果,按配置里的正则表达式顺序为准,由上到下开始匹配,一旦匹配成功1个,立即返回结果,结束匹配过程。
普通命中,顺序无所谓,是因为按命中的长短来确定的。
标签:查看 span operator 如何 正则表达 表达 基本 日志管理 html
原文地址:https://www.cnblogs.com/welisit/p/11025623.html