精准匹配和普通匹配:
   server{
           location =/index.htm{                                       ////精准匹配
                   root /var/www/html                                  ////root 指向的目录 也可以写在外面,这样的意思就是 server 的 公共目录,location 可以单独指向一个目录。
                   index index.htm index.html
           }
 
           location =/{
                   root /var/www/html
                   index index.htm index.html
           }
          
           location /index.htm {                                         ////正则匹配
                   root /usr/local/src/nginx/html
                   index index.htm index.html
           }
   }
         如果你在浏览器输入一个 192.168.1.200 访问,服务器会把 url 看做 /,这样就会精准配准第二个 location,然后 url 就被服务器转换成 192.168.1.200/index.htm ,然后访问,再次匹配,又被精准定位第一个 location,然后访问,没有可以匹配的 location 就直接访问到 /var/www/html/index.htm 页面
       
         我的猜测是,如果没有指定具体访问页面,会默认当做访问的是 location 里的 index 第一个指定的页面。
 
正则匹配和普通匹配:
      server {
              location /{
                       root html;
                       index index.html index.htm;
             }
         
              location ~ image{
                      root /var/www/
                      index index.html;
             }
       }
             第二段 location 是正则匹配,当  url 中包含 image 就会指向 /var/www 目录【这就是动静分离、img 的 src 也会触动 location】。其实第一个 location 也会进行匹配,因为第一个 / 符合第一个 location 的规则,但是在跳转访问时会匹配到第二个 location 会覆盖前面第一个定位的地址。
 
 
注意:
      普通匹配是谁匹配的长就是谁的为主。
      正则匹配是按照从上往下顺序执行的。
 
总结:
       如果 root 指向的目录写在 server 里面,且 location 里面没有指定 root ,就会按照 server 全局里面的当做根目录。
      location 就是匹配 url,无论是域名还是 ip 都会看成一个 /。后面的路径就是我们写的规则来匹配。
 
      location 的命中过程是这样的:1、先判断精准命中,如果命中,立即返回结果并结束解析过程。2、判断普通命中,如果多个命中,记录下最长的命中结果(记录但不结束,最长的为准)。继续判断正则表达式的解析结果,按配置里的正则表达式的顺序为准,由上到下开始匹配,一旦匹配成功 1 个,立即返回结果,并结束解析过程。

关于 nginx 的配置的 location的更多相关文章

  1. Nginx下配置ThinkPHP的URL Rewrite模式和pathinfo模式支持

    前面有关于lnmp环境的搭建,在此就不在赘述.下面就简述thinkPHP如何在nginx下开启url_rewrite和pathinfo模式支持 主要有两个步骤: 一.更改php.ini将;cgi.fi ...

  2. nginx下配置laravel+rewrite重写

    server { listen ; server_name ha.d51v.cn; #access_log /data/wwwlogs/access_nginx.log combined; root ...

  3. Nginx 配置指令location 匹配符优先级和安全问题【转】

    Nginx配置指令location匹配符优先级和安全问题 使用nginx 很久了,它的性能高,稳定性表现也很好,得到了很多人的认可.特别是它的配置,有点像写程序一样,每行命令结尾一个";&q ...

  4. Nginx配置基础-location

    location表达式类型 ~ 表示执行一个正则匹配,区分大小写~* 表示执行一个正则匹配,不区分大小写^~ 表示普通字符匹配.使用前缀匹配.如果匹配成功,则不再匹配其他location.= 进行普通 ...

  5. Nginx正确配置Location

    文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. 之前已经讲过Nginx的基本配置,本篇文章主要对Nginx中Location指令的作用进行介绍.本篇文章主要对 ...

  6. Nginx 核心配置-location的登录账户认证实战篇

    Nginx 核心配置-location的登录账户认证实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.使用ab命令模拟网站攻击 1>.安装httpd-tools工具 ...

  7. Nginx 核心配置-location的匹配案例实战篇

    Nginx 核心配置-location的匹配案例实战篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.location语法规则介绍 在没有使用正则表达式的时候,nginx会先在 ...

  8. 如何在Nginx下配置PHP程序环境

    1.nginx与PHP的关系 首先来看nginx与php的关系, FastCGI的关系(而不是像apache那样安装成nginx的模块) FastCGI的意思是, 快速的通用网关接口:CGI Comm ...

  9. 从零开始学 Java - CentOS 下 Nginx + Tomcat 配置负载均衡

    为什么现在有非常多的聪明人都在致力于互联网? 最近在读埃隆·马斯克传记,他说「我认为现在有非常多的聪明人都在致力于互联网」. 仔细一想,好像真的是这样的. 我问了自己一个问题:如果你不敲代码了,你能做 ...

随机推荐

  1. [JZOJ 5893] [NOIP2018模拟10.4] 括号序列 解题报告 (Hash+栈+map)

    题目链接: https://jzoj.net/senior/#main/show/5893 题目: 题解: 考虑暴力怎么做,我们枚举左端点,维护一个栈,依次加入元素,与栈顶元素和栈内第二个元素相同时弹 ...

  2. xBIM 高级01 IFC多模型合并

    系列目录    [已更新最新开发文章,点击查看详细]  多模型合并可以实现以下功能: 覆盖多个模型以表现得像一个模型 统一访问数据,就像它是单个模型一样 只读.要修改模型的内容,您必须使用特定模型 不 ...

  3. COGS 2479 奇怪的姿势卡♂过去 (bitset+折半)

    思路: 此题显然是CDQ套CDQ套树套树 (然而我懒) 想用一种奇怪的姿势卡过去 就出现了以下解法 5w*5w/8的bitset hiahiahia 但是空间会爆怎么办啊- 折半~ 变成5w*2.5w ...

  4. SQL Server查询数据库空间分配情况、数据库备份信息

    查询数据库空间分配情况: use master go create procedure dbo.proc_getdbspaceused as begin set nocount on create t ...

  5. 最长公共子序列(稀疏序列)nlogn解法

    首先这种做法只能针对稀疏序列, 比如这种情况: abc abacabc. 会输出5 ,,,,就比较尴尬, #include<iostream> #include<cstdio> ...

  6. 移动端font-size适配

    html{font-size:10px} @media screen and (min-width:321px) and (max-width:375px){html{font-size:11px}} ...

  7. Node_进阶_5

    Node进阶第五天 为什么mysql不用开mongod –dbpath xx… 答:因为mysql会在”服务”中运行,也就是开机时自动启动并且长久驻扎在内存中了. mongodb其实也能通过设置来设成 ...

  8. 数组名作为函数参数以及sizeof用法

    来源:https://blog.csdn.net/jay_zhouxl/article/details/51745518 int f(int *p,char *a) { printf("p[ ...

  9. A simpleHttp Proxy

    http://www.java2s.com/Code/Java/Network-Protocol/Asimpleproxyserver.htm

  10. CVE-2011-1473 tomcat

    Per the bottom of: http://tomcat.apache.org/security-7.html#Not_a_vulnerability_in_Tomcat  tweak you ...