文档章节

nginx location 匹配规则

皂白
 皂白
发布于 2017/08/30 11:03
字数 374
阅读 20
收藏 0

语法: location[=|~|~*|^~|@]/uri/{...}

配置块: server

location会尝试根据用户请求中的URI来匹配上面的/uri表达式,如果可以匹配,就选择 location{}块中的配置来处理用户请求。

  • = 表示把uri作为字符串做完全匹配 例如:
location =/ {
# 只有当用户的请求是 / 时,才会匹配
}
  • ~ 表示匹配uri是大小写敏感
  • ~* 表示匹配uri时忽略大小写
  • ^~ 表示匹配uri时只需要其前半部分匹配即可 例如:
location ^~ images {
# 以 images 开始的请求都会匹配
}
  • @ 表示仅用于Nginx服务内部请求之间的重定向,带有@的location不直接处理用户请求
  • 正则表达式 例如:
location ~* \.(gif|jpg|jpeg)$ {
# 匹配以 .gif .jpg .jpeg 结尾的请求
}
  • / 匹配所有请求 (一般放在最后) 例如:
location / {
# 匹配所有请求
}

注意,location是有顺序的,当一个请求有可能匹配多个location时,实际上这个请求会被第一个location处理。

在以上各种匹配方式中,都只能表达为“如果匹配...则...”。如果需要表达“如果不匹配... 则...”,就很难直接做到。有一种解决方法是在最后一个location中使用/作为参数,它会匹配所有的HTTP请求,这样就可以表示如果不能匹配前面的所有location,则由“/”这个location处理。

参考资料

《深入理解Nginx模块开发与架构解析第2版》

© 著作权归作者所有

共有 人打赏支持
皂白
粉丝 30
博文 34
码字总数 19277
作品 0
朝阳
程序员
私信 提问
nginx location的匹配规则

nginx location的匹配规则 Run - 学习练习复习2017-02-2639 阅读 匹配nginxlocation规则 location匹配命令 ~ 执行正则表达式,区分大小写 ~* 执行正则表达式,不区分大小写 ^~ 表示普通字符...

Run - 学习练习复习
2017/02/26
0
0
nginx中location配置及匹配详解

nginx中location配置及匹配详解 1、location语法规则 Location 基础知识 1.location 是在 server 块中配置。 2.可以根据不同的 URI 使用不同的配置(location 中配置),来处理不同的请求。 ...

long9617
07/15
0
0
nginx配置静态资源与动态访问分离

在前面的博客中《说说 NGINX 的配置及优化》的 2.5 小节里面,提到 location 模块是 nginx 中用的最多的,也是最重要的模块,负载均衡、反向代理、虚拟域名等都与它相关。 首先我们可以先来看...

blackfoxya
07/31
0
0
Nginx Location配置总结

语法规则: location [=|~|~|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规...

Aman_li
2014/12/03
0
0
Nginx Location配置总结

语法规则: location [=|~|~|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则...

猪刚烈
2014/09/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring核心概念--Spring01

小生初出程序茅庐,走上编程之路,还请各位大佬多多管照。 初学Spring框架: 创建HelloWorldSpring项目 用eclipse开发Web项目,添加jar包: commons-logging-1.2.jar log4j-1.2.17.jar spring-...

小橙子的曼曼
18分钟前
1
0
MySQL 运行状态监控方法

一、通过shell脚本监控mysql的qps,tps,io详细见附件脚本《mysqlgather.sh》 因在脚本中直接设置密码会提示告警信息,需要在my.cnf文件中的[client]标签下增加默认的用户名和密码,并重启mys...

PeakFang-BOK
22分钟前
2
0
ROS实操笔记 四 topic (主题)

主题 消息以一种发布/订阅的方式传递。一个节点可以在一个给定的主题中发布消息。一个节点针对某个主题关注与订阅特定类型的数据。可能同时有多个节点发布或者订阅同一个主题的消息。总体上,...

placido
23分钟前
1
0
【NLP】【六】gensim之doc2vec

【一】总述 doc2vec是指将句子、段落或者文章使用向量来表示,这样可以方便的计算句子、文章、段落的相似度。 【二】使用方法介绍 1. 预料准备 def read_corpus(fname, tokens_only=False):...

muqiusangyang
25分钟前
0
0
node中process.nextTick & promise & 异步IO & setTimeout & setImmediate 的优先级

process.nextTick > promise > setTimeout > 异步IO > setImmediate

小草先森
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部