nginx location语法解释
1、没有修饰符 表示:必须以指定模式开始,如: 默认模式
- server {
- server_name baidu.com;
- location /abc {
- ……
- }
- }
http://baidu.com/abc
http://baidu.com/abc?p1
http://baidu.com/abc/
以上 3个都匹配
2、=表示:必须与指定的模式精确匹配
- server {
- server_name sish
- location = /abc {
- ……
- }
- }
- 那么,如下是对的:
- http://baidu.com/abc
- http://baidu.com/abc?p1
- 如下是错的:
- http://baidu.com/abc/
- http://baidu.com/abcde
- note 如果设置了=号的匹配规则,一定要设置一个 / 这个规则,否则会报403错误
- 3、~ 表示:指定的正则表达式要区分大小写
- server {
- server_name baidu.com;
- location ~ ^/abc$ {
- ……
- }
- }
- 那么,如下是对的:
- http://baidu.com/abc
- http://baidu.com/abc?p1=11&p2=22
- 如下是错的:
- http://baidu.com/ABC
- http://baidu.com/abc/
- http://baidu.com/abcde
- note:proxy_pass" cannot have URI part in location given by regular expression, or inside named location
如果是采用正则进行http_proxy 如 ~ /xxx/ {
proxy_pass http://location:8080 ;
}
则 http://location:8080后面不能有/ ,否则报以上错误
- 4、~* 表示:指定的正则表达式不区分大小写
- server {
- server_name baidu.com;
- location ~* ^/abc$ {
- ……
- }
- }
- 那么,如下是对的:
- http://baidu.com/abc
- http://baidu..com/ABC
- http://baidu..com/abc?p1=11&p2=22
- 如下是错的:
- http://baidu..com/abc/
- http://baidu..com/abcde
- 5、^~ 类似于无修饰符的行为,也是以指定模式开始,不同的是,如果模式匹配,
那么就停止搜索其他模式了
6、@ :定义命名location区段,这些区段客户段不能访问,只可以由内部产生的请
求来访问,如try_files或error_page等
查找顺序和优先级
1:带有“=“的精确匹配优先
2:没有修饰符的精确匹配
3:正则表达式按照他们在配置文件中定义的顺序
4:带有“^~”修饰符的,开头匹配
5:带有“~” 或“~*” 修饰符的,如果正则表达式与URI匹配
6:没有修饰符的,如果指定字符串与URI开头匹配
- Location区段匹配示例
- location = / {
- # 只匹配 / 的查询.
- [ configuration A ]
- }
- location / {
- # 匹配任何以 / 开始的查询,但是正则表达式与一些较长的字符串将被首先匹配。
- [ configuration B ]
- }
- location ^~ /images/ {
- # 匹配任何以 /images/ 开始的查询并且停止搜索,不检查正则表达式。
- [ configuration C ]
- }
- location ~* \.(gif|jpg|jpeg)$ {
- # 匹配任何以gif, jpg, or jpeg结尾的文件,但是所有 /images/ 目录的请求将在Configuration C中处
- 理。
- [ configuration D ]
- } 各
- 请求的处理如下例:
- ■/ → configuration A
- ■/documents/document.html → configuration B
- ■/images/1.gif → configuration C
- ■/documents/1.jpg → configuration D
nginx location语法解释的更多相关文章
- 附001.Nginx location语法规则
一 location规则 1.1 location语法 基本语法: location [=|~|~*|^~]/uri/{...} 修饰符释义: 1 = #表示精确严格匹配,只有请求的url路径与后面的 ...
- Nginx Location 语法,与简单配置[转]
一、介绍Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器 ...
- nginx Location 语法基础知识
URL地址匹配是Nginx配置中最灵活的部分 Location 支持正则表达式匹配,也支持条件匹配,用户可以通过location指令实现Nginx对动丶静态网页的过滤处理. Nginx locatio ...
- [nginx]location语法
location语法 location语法格式 location [=|~|~*|^~] uri { .... } location [=|~|~*|^~] uri {....} 指令 匹配标识 匹配 ...
- nginx location 语法
location 语法location 有”定位”的意思, 根据Uri来进行不同的定位.在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分,定位到不同的处理方式上.比如, 碰到.p ...
- nginx location语法使用说明
语法规则: location [=|~|~*|^~] /uri/ { … } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url做编码,因 ...
- nginx location配置说明
nginx location语法规则:location [=|~|~*|^~] /uri/ { … } nginx的location匹配的变量是$uri 规则优先级 = 高于 ^~ 高于 ~* ...
- Nginx location配置详细解释
nginx location配置详细解释 语法规则: location [=|~|~*|^~] /uri/ { - } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 ur ...
- nginx与location语法详解
Location语法优先级排列 匹配符 匹配规则 优先级 = 精确匹配 ^~ 以某个字符串开头 ~ 区分大小写的正则匹配 ~* 不区分大小写的正则匹配 !~ 区分大小写不匹配的正则 !~* 不区分大小 ...
随机推荐
- 图片的onload事件与better-scroll结合[ 当fastclick插件和better-scroll发生冲突导致点击事件失效时,可以给需要点击的元素加一个class="needsclick"]
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- Centos7 mariadb (mysql)主从复制实现
一.mysql基本命令 .启动mysql systemctl start mariadb .linux客户端连接自己 mysql -uroot -p -h 127.0.0.1 .远程链接mysql服务 ...
- php 人员权限管理(RBAC)
一.想好这个权限是什么? 就做一个就像是vip的功能,普通用户和vip用户的功能是不一样的,先来考虑一下数据库怎么设计 肯定要有用户表.还有用户所用的角色.然后就是权限功能表:可是在这里面有关联也就 ...
- mysql 通过localhost可以连接IP连接不上
因为MySQL默认没开 所以需要手动设置 开MySQL启远程连接的功能,在MySQL服务器控制台上执行以下命令: 设置权限: grant all privileges on *.* to 用户名@&q ...
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:除了屏幕阅读器外,其他设备上隐藏元素
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- javaScript中this的指向?
javaScript中this对象是在运行时基于函数的执行环境绑定的,在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象. 但在实际中,代码环境复杂,th ...
- Linux中{ }的用法
一.生成序列 格式:{#..#},按照ASCII表的顺序进行生成,如{a..c}表示a b c,也可以{c..a}倒叙的形式生成c b a # ..} # echo {z..a} z y x w v ...
- Linux centosVMware yum更换国内仓库源、yum下载rpm包、源码包安装
一.yum更换国内仓库源 cd /etc/yum.repos.d/ rm -f dvd.repo wget http://mirrors.163.com/.help/CentOS7-Base-163. ...
- redis中关闭rdb跟aof
https://zm10.sm-tc.cn/?src=l4uLj8XQ0IiIiNGdip2KlJDRnJCS0JaRmZCbmouelpPSzc%2FJz8vJxtGXi5KT&uid=49 ...
- struts2--验证器
1.输入验证: --struts2提供了一些基于Xwork Validation Framework的内建验证程序,使用这些验证程序不需要变编程,只要在一个XML文件里进行声明,声明的内容如下: &g ...