nginx location 指令匹配顺序
来源:互联网 发布:知乎 小山庆一郎 编辑:程序博客网 时间:2024/05/16 09:50
[导读] location指令是server段中的一个指令,可以对不同路径或不同文件类型进行特殊处理。例如用的比较多的就是针对网站的静态内容设置缓存。由于一个server段中可以有多个location,而http请求最终只能使用其中的一个
location指令是server段中的一个指令,可以对不同路径或不同文件类型进行特殊处理。例如用的比较多的就是针对网站的静态内容设置缓存。由于一个server段中可以有多个location,而http请求最终只能使用其中的一个location 指令语法如下:
代码如下复制代码location [=|^~|~|!~|~*|!~*] uri {
}
上述配置中[]内为可选配置,但只能使用其中一个。关于具体含义,可以参考:nginx 匹配操作符。uri可以是普通字符串或正则表达式。
匹配的顺序是先匹配普通字符串,然后再匹配正则表达式。另外普通字符串匹配顺序是根据配置中字符长度从长到短,也就是说使用普通字符串配置的location顺序是无关紧要的,反正最后nginx会根据配置的长短来进行匹配,但是需要注意的是正则表达式按照配置文件里的顺序测试。找到第一个比配的正则表达式将停止搜索。
一般情况下,匹配成功了普通字符串location后还会进行正则表达式location匹配。有两种方法改变这种行为,其一就是使用“=”前缀,这时执行的是严格匹配,并且匹配成功后立即停止其他匹配,同时处理这个请求;另外一种就是使用“^~”前缀,如果把这个前缀用于一个常规字符串那么告诉nginx 如果路径匹配那么不测试正则表达式。
总结下来location指令的匹配顺序为:
1、“=”前缀指令匹配,如果匹配成功,停止其他匹配2、普通字符串指令匹配,顺序是从长到短,匹配成功的location如果使用“^~”前缀,则停止其他匹配。3、正则表达式指令匹配,按配置文件里的顺序,成功就停止其他匹配。4、如果第3步中有匹配成功,则使用该结果,否则使用第二步中的匹配结果。
原文地址:http://www.php100.com/html/program/nginx/2013/0905/5543.html
0 0
- nginx location 指令匹配顺序
- Nginx location指令匹配顺序规则
- Nginx location指令匹配顺序规则
- Nginx location指令匹配顺序规则
- nginx location 匹配顺序
- nginx location 匹配顺序
- nginx location 匹配顺序
- nginx location 匹配顺序
- nginx location匹配顺序
- NGINX location 匹配顺序
- nginx location rewrite匹配顺序
- Nginx location块匹配顺序
- Nginx 的 location 指令的匹配规则
- Nginx Location指令URI匹配规则详解
- Nginx Location指令URI匹配规则详解
- Nginx之Location配置详解(Location匹配顺序)
- Nginx之Location配置详解(Location匹配顺序)
- Nginx配置指令location匹配符优先级和安全问题
- Android系统上部署webservice
- 从现在起,培养五个获益终生的思维习惯。
- xcat 安装(liunx高性能刀片集群管理软件)
- MySQL高级查询——连接查询实例详解
- Android广播的基本介绍
- nginx location 指令匹配顺序
- xCAT2安装配置
- TextView设置部分文字可点击及样式
- springmvc+spring3+hibernate4框架整合完整版
- Tab切换
- 如何建立本地Ubuntu安装源
- Android动态添加TextView
- jdbc(RowSet离线结果集)
- xCAT裸机部署