码迷,mamicode.com
首页 > 其他好文 > 详细

nginx——location 优先级

时间:2015-07-08 02:00:47      阅读:108      评论:0      收藏:0      [点我收藏+]

标签:

一、 location 的匹配符
1.等于匹配符:=
等于匹配符就是等号,特点可以概括为两点:
精确匹配
不支持正则表达式
2.空匹配符
空匹配符的特点是:
匹配以指定模式开始的 URI
不支持正则表达式
3.正则匹配符:~
正则匹配符是可以使用正则表达式的匹配符。不过这里要强调的是,

一般来说~是指:区分大小写的正则匹配
而~*表示:         不区分大小写的正则匹配
但是对于一些对大小写不敏感的操作系统,这两者没有区别。 

二、优先级的实例

location ~ ^/poechant$ {
   return  400;
}

location =/poechant {
  return  403;
}

结果显示 403 forbdden

location ~ ^/poechant$ {
   return  400;
}

location /poechant {
  return  403;
}

结果显示 400 Bad Request

根据以上可以大体判断了解  location的优先级别以及流程。

1、首先精确匹配 也就是带着 =的location  找到之后直接结束解析过程并返回。

2、其次匹配普通匹配,并记录最长的匹配,此时首先不返回。匹配最长的。

3、再匹配正则表达式,以~开始的,正则表达式,按照顺序从上到下匹配,找到匹配之后立即返回,没有匹配到则返回普通匹配的最长的匹配。如果普通匹配没有匹配到页面,则返回 404 not found。

 

nginx——location 优先级

标签:

原文地址:http://www.cnblogs.com/timelesszhuang/p/4628951.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!