1、没有修饰符 表示:必须以指定模式开始,如:              默认模式

  1. server {
  2.   server_name baidu.com;
  3.   location /abc {
  4.     ……
  5.   }
  6. }

http://baidu.com/abc
http://baidu.com/abc?p1
http://baidu.com/abc/
以上  3个都匹配

2、=表示:必须与指定的模式精确匹配

  1. server {
  2. server_name sish
  3.   location = /abc {
  4.     ……
  5.   }
  6. }
  7. 那么,如下是对的:
  8. http://baidu.com/abc
  9. http://baidu.com/abc?p1
  10. 如下是错的:
  11. http://baidu.com/abc/
  12. http://baidu.com/abcde
  13.  
  14. note 如果设置了=号的匹配规则,一定要设置一个 / 这个规则,否则会报403错误

  1.  
  2. 3、~ 表示:指定的正则表达式要区分大小写
  1. server {
  2. server_name baidu.com;
  3.   location ~ ^/abc$ {
  4.     ……
  5.   }
  6. }
  7. 那么,如下是对的:
  8. http://baidu.com/abc
  9. http://baidu.com/abc?p1=11&p2=22
  10. 如下是错的:
  11. http://baidu.com/ABC
  12. http://baidu.com/abc/
  13. http://baidu.com/abcde
  14.  
  15. 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后面不能有/ ,否则报以上错误
  1. 4、~* 表示:指定的正则表达式不区分大小写
  1. server {
  2. server_name baidu.com;
  3. location ~* ^/abc$ {
  4.     ……
  5.   }
  6. }
  7. 那么,如下是对的:
  8. http://baidu.com/abc
  9. http://baidu..com/ABC
  10. http://baidu..com/abc?p1=11&p2=22
  11. 如下是错的:
  12. http://baidu..com/abc/
  13. http://baidu..com/abcde
  1. 5、^~ 类似于无修饰符的行为,也是以指定模式开始,不同的是,如果模式匹配,
    那么就停止搜索其他模式了

6、@ :定义命名location区段,这些区段客户段不能访问,只可以由内部产生的请
求来访问,如try_files或error_page等

查找顺序和优先级
1:带有“=“的精确匹配优先
2:没有修饰符的精确匹配
3:正则表达式按照他们在配置文件中定义的顺序
4:带有“^~”修饰符的,开头匹配
5:带有“~” 或“~*” 修饰符的,如果正则表达式与URI匹配
6:没有修饰符的,如果指定字符串与URI开头匹配

  1. Location区段匹配示例
  2.  
  3. location = / {
  4.   # 只匹配 / 的查询.
  5.   [ configuration A ]
  6. }
  7. location / {
  8.   # 匹配任何以 / 开始的查询,但是正则表达式与一些较长的字符串将被首先匹配。
  9.   [ configuration B ]
  10. }
  11. location ^~ /images/ {
  12.   # 匹配任何以 /images/ 开始的查询并且停止搜索,不检查正则表达式。
  13.   [ configuration C ]
  14. }
  15. location ~* \.(gif|jpg|jpeg)$ {
  16.   # 匹配任何以gif, jpg, or jpeg结尾的文件,但是所有 /images/ 目录的请求将在Configuration C中处
  17.   理。
  18.   [ configuration D ]
  19. }
  20. 请求的处理如下例:
  21. ■/ configuration A
  22. ■/documents/document.html configuration B
  23. ■/images/1.gif configuration C
  24. ■/documents/1.jpg configuration D
  1.  

nginx location语法解释的更多相关文章

  1. 附001.Nginx location语法规则

    一 location规则 1.1 location语法 基本语法: location [=|~|~*|^~]/uri/{...} 修饰符释义: 1 = #表示精确严格匹配,只有请求的url路径与后面的 ...

  2. Nginx Location 语法,与简单配置[转]

    一、介绍Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”, 是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器 ...

  3. nginx Location 语法基础知识

    URL地址匹配是Nginx配置中最灵活的部分 Location 支持正则表达式匹配,也支持条件匹配,用户可以通过location指令实现Nginx对动丶静态网页的过滤处理. Nginx locatio ...

  4. [nginx]location语法

    location语法 location语法格式 location [=|~|~*|^~] uri { .... } location [=|~|~*|^~] uri {....} 指令 匹配标识 匹配 ...

  5. nginx location 语法

    location 语法location 有”定位”的意思, 根据Uri来进行不同的定位.在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分,定位到不同的处理方式上.比如, 碰到.p ...

  6. nginx location语法使用说明

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

  7. nginx location配置说明

    nginx location语法规则:location  [=|~|~*|^~]  /uri/  { … } nginx的location匹配的变量是$uri 规则优先级 = 高于 ^~ 高于 ~* ...

  8. Nginx location配置详细解释

    nginx location配置详细解释 语法规则: location [=|~|~*|^~] /uri/ { - } = 开头表示精确匹配 ^~ 开头表示uri以某个常规字符串开头,理解为匹配 ur ...

  9. nginx与location语法详解

    Location语法优先级排列 匹配符 匹配规则 优先级 = 精确匹配 ^~ 以某个字符串开头 ~ 区分大小写的正则匹配 ~* 不区分大小写的正则匹配 !~ 区分大小写不匹配的正则 !~* 不区分大小 ...

随机推荐

  1. 图片的onload事件与better-scroll结合[ 当fastclick插件和better-scroll发生冲突导致点击事件失效时,可以给需要点击的元素加一个class="needsclick"]

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. Centos7 mariadb (mysql)主从复制实现

    一.mysql基本命令 .启动mysql systemctl start mariadb .linux客户端连接自己 mysql -uroot -p -h 127.0.0.1 .远程链接mysql服务 ...

  3. php 人员权限管理(RBAC)

    一.想好这个权限是什么? 就做一个就像是vip的功能,普通用户和vip用户的功能是不一样的,先来考虑一下数据库怎么设计 肯定要有用户表.还有用户所用的角色.然后就是权限功能表:可是在这里面有关联也就 ...

  4. mysql 通过localhost可以连接IP连接不上

    因为MySQL默认没开 所以需要手动设置 开MySQL启远程连接的功能,在MySQL服务器控制台上执行以下命令: 设置权限: grant all privileges on *.* to 用户名@&q ...

  5. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 辅助类:除了屏幕阅读器外,其他设备上隐藏元素

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  6. javaScript中this的指向?

    javaScript中this对象是在运行时基于函数的执行环境绑定的,在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象. 但在实际中,代码环境复杂,th ...

  7. Linux中{ }的用法

    一.生成序列 格式:{#..#},按照ASCII表的顺序进行生成,如{a..c}表示a b c,也可以{c..a}倒叙的形式生成c b a # ..} # echo {z..a} z y x w v ...

  8. Linux centosVMware yum更换国内仓库源、yum下载rpm包、源码包安装

    一.yum更换国内仓库源 cd /etc/yum.repos.d/ rm -f dvd.repo wget http://mirrors.163.com/.help/CentOS7-Base-163. ...

  9. redis中关闭rdb跟aof

    https://zm10.sm-tc.cn/?src=l4uLj8XQ0IiIiNGdip2KlJDRnJCS0JaRmZCbmouelpPSzc%2FJz8vJxtGXi5KT&uid=49 ...

  10. struts2--验证器

    1.输入验证: --struts2提供了一些基于Xwork Validation Framework的内建验证程序,使用这些验证程序不需要变编程,只要在一个XML文件里进行声明,声明的内容如下: &g ...