nginx location配置

 
location在nginx中起着重要作用,对nginx接收到的请求字符串进行处理,如地址定向、数据缓存、应答控制、代理转发等

location语法

location [=|~|~*|^~] uri {
...
}

[]部分是匹配类型,可以没有,其中各项含义:

(1)= 精准匹配,请求字符串必须和uri完全相同时匹配成功

(2)~ 区分大小写的正则匹配

(3)~* 不区分大小写的正则匹配

(4)^~ 注意这个不是正则匹配,表示uri以普通字符串开头,

(5)空 表示uri以普通字符串开头,和上条意义相同,只是匹配顺序有区别

匹配类型

(1)普通匹配(没有[]部分,或者指定 ^~)

(2)精准匹配(=)

(3)正则匹配(~或者~*)

例如:

location = / {
#精确匹配 / ,主机名后面不能带任何字符串
... 
}

location / {
#普通匹配,因为所有的地址都以 / 开头,所以这条规则将匹配到所有请求
... 
}

location ~* \.(gif|jpg|jpeg)$ {
#正则匹配,此条规则匹配uri是否以 .gif 或 .jpg 或 .jpeg 结尾,不区分大小写
...
}

多个location的优先级

(1)找精准匹配,找到就停止继续匹配,执行此location

(2)验证各条普通匹配规则,是否有 ^~ 开头匹配成功的,有,停止继续匹配,执行此location,否,记下匹配度最高的那条

(3)按顺序验证各条正则匹配规则,有匹配的,停止继续匹配,执行此location,否则执行普通匹配规则中匹配度最高的那条

 

nginx location配置的更多相关文章

  1. Nginx Location配置总结

    Nginx Location配置总结 语法规则: location [=|~|~*|^~] /uri/ { - }= 开头表示精确匹配^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即 ...

  2. Nginx location配置详细解释

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

  3. nginx location 配置详解 【转载,整理】

    http://www.nginx.cn/115.html NGINX location 配置参考:http://www.cnblogs.com/zlingh/p/6288994.html https: ...

  4. Nginx location 配置用法及正则例子

    Nginx location 配置语法     1. location [ = | ~ | ~* | ^~ ] uri { ... }     2. location @name { ... }   ...

  5. [转帖]nginx location配置详细解释

    nginx location配置详细解释 http://outofmemory.cn/code-snippet/742/nginx-location-configuration-xiangxi-exp ...

  6. Nginx Location配置语法介绍、优先级说明

    nginx 语法规则:location   [=|~|~*|^~|!~|!~*]    /uri/   { … } location匹配的是$document_uri,$document_uri 会随 ...

  7. Nginx Location配置总结及基础最佳实践

    参考来源: http://blog.zol.com.cn/1067/article_1066186.html,http://flandycheng.blog.51cto.com/855176/2801 ...

  8. nginx Location配置总结(转)

    本文部分转自:http://cssor.com/nginx-location-configuration.html 一. 开头 语法规则: location [=|~|~*|^~] /uri/ { … ...

  9. nginx location配置(URL)

    语法规则: location [=|~|~*|^~] /uri/ { … }= 表示精确匹配,这个优先级也是最高的^~ 表示uri以某个常规字符串开头,理解为匹配 url路径即可.nginx不对url ...

随机推荐

  1. 判断日期是否符合yyyy-mm格式

    !Regex.IsMatch(dr["DMAKEDATE"].ToString(),@"^(?<year>\\d{2,4})-(?<month>\ ...

  2. iis 重新注册 .net 方法

    dhl:IIS注册ASP.NET 1.1.2.0.4.0_在win7下如果先安装vs2010 后安装iis7的话,必须注册iis才可以用.~~~!!鄙视微软   IIS中ASP.NET的版本号此时可选 ...

  3. RDIFramework.NET平台代码生成器V2.8发布-更新于2014-12-31(提供下载)

    RDIFramework.NET平台代码生成器V2.8发布  更新于2014-12-31 注:已经发布了新版本,请转新版本下载: RDIFramework.NET平台代码生成器V3.0版本全新发布-更 ...

  4. RDIFramework.NET ━ 9.3 用户管理 ━ Web部分

    RDIFramework.NET ━ .NET快速信息化系统开发框架 9.3  用户管理 -Web部分 用户管理模块主要是对可登录系统的用户进行管理.后续的工作如:用户归属角色.权限的分配.用户所拥有 ...

  5. MSSQL 2012 拒绝了对对象 'extended_properties' (数据库 'mssqlsystemresource',架构 'sys')的 SELECT 权限

    查看数据库的表的时候报如下错误: MSSQL 拒绝了对对象 ) 解决方法: 在数据库里相应的用户权限中,把db_denydatareader的复选框的勾去掉.db_denydatareader是拒绝访 ...

  6. Number类型方法

    //1.toString();  转换成字符串 var s=123; console.log(typeof s.toString()); //string //2.toLocaleString()   ...

  7. c++ socket编程步骤

    sockets(套接字)编程有三种,流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),原始套接字(SOCK_RAW):基于TCP的socket编程是采用的流式套接字. 服务器 ...

  8. android开发中scrollview添加自定义view的滑动显示问题

    最近做了一个实战用到自定义view,由于view比屏幕大所以想放到scrollview中,如下程序.发现不显示.于是对scrollview进行了研究. <LinearLayout xmlns:a ...

  9. windows系统调用 调度优先级

    #include "iostream" #include "windows.h" using namespace std; class CWorkerThrea ...

  10. Android——初探Dagger2依赖注入

    1,在做项目时,经常需要在一个对象里去创建另一个对象的示例,这种行为是产生耦合的常见形式,对于一个大型项目来说,过多的相互依赖会导致代码难以维护,很容易就会碰到修改一个小需求需要大面积的修改各种代码, ...