nginx中的location匹配规则

概述:
1. location在nginx配置文件中的作用是根据用户请求的URI来执行不同的应用。
2.URI的定义:标识、定位任何资源的字符串
  协议://域名/目录a/目录b/文件c
  http://www.baidu.com/dowload/nginx/nginx.conf
一、location写法
location  = / {
  # 精确匹配 / ,主机名后面不能带任何字符串只能是 /  ,例如 ‘  www.abc.com/  ’
  # 优先级: 最高。  
[ configuration A ]
}
location  / {
  # 匹配所有的地址  以 / 开头,能匹配到所有的规则。
  # 优先级:最低。
  [ configuration B ]
}
location /documents/ {
  # 匹配任何以 /documents/ 开头的地址,匹配符合以后,还要继续往下搜索
  # 优先级:仅次于正则表达式。
  [ configuration C ]
}
location ~ /documents/Abc {
  # 匹配任何以 /documents/Abc 开头的地址,匹配符合以后,还要继续往下搜索
  # 优先级:低于正则表达式,高于/documents/。
  [ configuration CC ]
}
location ~* \.(gif|jpg|jpeg)$ {
  # 匹配所有以 gif,jpg或jpeg 结尾的请求。
  # 优先级:低于 ^~  的匹配。
  [ configuration D ]
}

二、符号说明

= 开头表示精确匹配; 如: A 中只匹配根目录结尾的请求,后面不能带任何字符串.
^~ 开头表示uri以某个常规字符串开头,不是正则匹配;
~ 开头表示区分大小写的正则匹配;
~* 开头表示不区分大小写的正则匹配;
/ 通用匹配, 如果没有其它匹配,任何请求都会匹配到;
三、location 顺序/优先级:
= > 完整路径 > ^~ 路径 > ~,~* 正则顺序 > 部分起始路径 > /
posted @ 2017-03-04 22:17  谢小花❀  阅读(4959)  评论(0编辑  收藏  举报