首页 > 其他 > 详细

nginx配置—之location模式匹配

时间:2018-06-08 10:23:35      阅读:164      评论:0      收藏:0      [点我收藏+]

1、location正则

~       表示一个正则匹配,区分大小写
~*      表示一个正则匹配,不区分大小写
^~      表示普通字符匹配,一般用来匹配目录
=       表示普通字符精确匹配
@       定义一个自命名的location,用来在内部重定向,例如 error_page, try_files


2、location匹配的优先级

(1)location匹配的优先级与location在配置文件中的顺序无关
(2)精确匹配( = ),首先处理精确匹配,如果匹配上,就停止搜索其他匹配
(3)普通字符匹配( ^~ ),越精确匹配,优先级越高,如果匹配上,停止搜索匹配
(4)正则表达式匹配,匹配定义的内容
(5)如果第4条规则产生匹配的话,就使用该结果,否则,使用第3条规则的结果

例1:基本匹配

location = / {
      # 只匹配 “/”
      [ configuration A ]
}
location  / {
      # 匹配以 “/”开头的请求,即匹配所有
      # 但精确匹配或正则匹配会优先匹配
      [ configuration B ]
}
location ^~ /images/ {
       # 匹配以 /images/ 开头的请求,并停止其他 location匹配
      [ configuration C ]
}
location ~* .(gif|jpg|jpeg)$ {
       # 匹配以 gif, jpg, 或者 jpeg结尾的请求
      [ configuration D ]
}

/     符合 A
/documents/document.html         符合B
/images/1.gif           符合C
/documents/1.jpg         符合D


例2:@location

error_page 404 = @fetch;
location @fetch(
       proxy_pass  http://fetch;
)

 

参考文章: http://www.nginx.cn/115.html

nginx配置—之location模式匹配

原文:https://www.cnblogs.com/aishangwei/p/9153690.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!