1locations简介

location的主要作用就是根据用户请求的uri来执行不同的应用。

2location的语法

location [=|~|~*|^~|@] uri{...........}   官方地址:http://nginx.org/en/docs/http/ngx_http_core_module.html#location

location [=|~|~*|^~|@] uri {}
指令 匹配标识 匹配的普通字符串地址,或者正则表达式 匹配成功后要执行的配置段

-2.1正则location (location using regular expressions)

“~ ”和“~* ”前缀表示正则location ,

“~ ”区分大小写,“~* ”不区分大小写;

2.2普通location(location using literal strings)

其他前缀(包括:“=”,“^~ ”和“@ ”)和无任何前缀的都属于普通location ,不做正则表达式的检查

3匹配规则

这里先交代匹配规则:

匹配 规则是:

引用别人的一句:“正则 location 匹配让步普通location 的严格精确匹配结果;但覆盖普通 location 的最大前缀匹配结果”。

先匹配普通location ,再匹配正则表达式

在普通location内部(假设没有正则,那么按照最大前缀来匹配))

正则location:正则location 按照 在配置文件中的物理顺序来匹配,与顺序有关。

说明一点:对于匹配普通location——》匹配完了“普通location ”(按照最大前缀匹配来匹配)指令,还需要继续匹配“正则location ”,如果匹配到正则location那么正则location ”覆盖 “普通location ”的最大前缀匹配,最终匹配到正则location。

匹配完了“普通location ”指令,我们不需要继续匹配“正则location ”,我们可以通过nginx.conf来做到。

1在“普通location ”前面加上“^~ ”符号(^ 表示“非”,~ 表示“正则”,字符意思是:不要继续匹配正则)。

2在“普通location ”前面加上“=”符号

3当“最大前缀”匹配恰好就是一个“严格精确(exact match )”匹配,照样会停止后面的搜索

简单解释下上边两个的区别:

共同点是它们都能阻止继续搜索正则location ,

不同点是“^~ ”依然遵守“最大前缀”匹配规则,然而“= ”不是“最大前缀”,而是必须是严格匹配(exact match )。

参考:http://www.cnblogs.com/lidabo/p/4169396.html(超级详细)

nginx之location的更多相关文章

  1. rewrite规则写法及nginx配置location总结

    rewrite只能放在server{},location{},if{}中,并且只能对域名后边的除去传递的参数外的字符串起作用. 例如http://seanlook.com/a/we/index.php ...

  2. Nginx之location 匹配规则详解

    有些童鞋的误区 1. location 的匹配顺序是“先匹配正则,再匹配普通”. 矫正: location 的匹配顺序其实是“先匹配普通,再匹配正则”.我这么说,大家一定会反驳我,因为按“先匹配普通, ...

  3. nginx 中location和root

    nginx 中location和root,你确定真的明白他们关系? 2016-01-17 14:48 3774人阅读 评论(1) 收藏 举报  分类: linux(17)  版权声明:本文为博主原创文 ...

  4. Nginx 的 Location 配置指令块

    最近一段时间在学习 Nginx ,以前一直对 Nginx 的 Location 配置很头大,最近终于弄出点眉目.总结如下:nginx 配置文件,自下到上分为三种层次分明的结构: |    http b ...

  5. 快速掌握Nginx(二) —— Nginx的Location和Rewrite

    1 location详解 1.location匹配规则 Nginx中location的作用是根据Url来决定怎么处理用户请求(转发请求给其他服务器处理或者查找本地文件进行处理).location支持正 ...

  6. nginx之location的匹配规则

    nginx之location的匹配规则 一.语法规则 location [=|~|~*|^~] /uri/ { - } 符号 含义 = 开头表示精确匹配 ^~ 开头表示 uri 以某个常规字符串开头 ...

  7. Nginx的location匹配规则

    一 Nginx的location语法 location [=|~|~*|^~] /uri/ { … } =         严格匹配.如果请求匹配这个location,那么将停止搜索并立即处理此请求 ...

  8. nginx:location指令中的正则表达式

    nginx:location指令中的正则表达式 uri匹配步骤 官网说明https://docs.nginx.com/nginx/admin-guide/web-server/web-server/ ...

  9. Nginx的location配置规则梳理

    Nginx几乎是当下绝大多数公司在用的web应用服务,熟悉Nginx的配置,对于我们日常的运维工作是至关重要的,下面就Nginx的location配置进行梳理: 1)location匹配的是nginx ...

  10. Nginx 配置 Location 规则优先级问题

    nginx 的 location与配置中 location 顺序没有关系,与 location 表达式的类型有关.相同类型的表达式,字符串长的会优先匹配. 以下是按优先级排列说明: 等号类型(=)的优 ...

随机推荐

  1. hdu2896 病毒侵袭 ac自动机

    地址:http://acm.split.hdu.edu.cn/showproblem.php?pid=2896 题目: 病毒侵袭 Time Limit: 2000/1000 MS (Java/Othe ...

  2. Unity游戏暂停之Update与FixedUpdate区别

    游戏暂停 示例程序 下面这段代码演示游戏暂停 using UnityEngine; using System.Collections; public class GamePauseTest : Mon ...

  3. Linux 各目录的作用

    /bin bin是binary的缩写.这个目录沿袭了UNIX系统的结构,存放着使用者最经常使用的命令.例如cp.ls.cat,等等. /boot 这里存放的是启动Linux时使用的一些核心文件. /d ...

  4. js点击左右滚动+默认自动滚动类

    js点击左右滚动+默认自动滚动类 点击下载

  5. (原创)mybatis学习四,利用mybatis自动创建代码

    在使用mybatis的过程中,我们可以直接利用MyBatis生成器自动生成实体类.DAO接口和Mapping映射文件,然后copy到工程中即可 需要的jar包如下 下载路径如下:下载jar包 其中的g ...

  6. DPABI advanced edition 文件夹组织形式

    ❤ Regress out nuisance: ... csf\wm ('SPM apriori') {working directory}\Masks\WarpedMasks\SubIndex_Wh ...

  7. HRV基础

    Source: Mostly from wiki. Heart rate variability (HRV,心率变异性) is the physiological phenomenon of vari ...

  8. jQuery插件:跨浏览器复制jQuery-zclip

    jQuery-zclip是一个复制内容到剪贴板的jQuery插件,使用它我们不用考虑不同浏览器和浏览器版本之间的兼容问题.jQuery-zclip插件需要Flash的支持,使用时记得安装Adobe F ...

  9. usb驱动开发14之设备生命线

    直接看代码吧. /*-------------------------------------------------------------------*/ /** * usb_submit_urb ...

  10. [转] EJB 3和Spring技术体系比较

    最近在学习EJB 3,对于SSH与EJB3,一直不太明白“即生瑜,何生亮?”,今天无意看到一篇旧文,比较系统的对比了这二种技术架构,转载于此: 原文出处:http://www.51cto.com/sp ...