• nginx配置文件结构及location块语法规则


    一. nginx配置文件结构介绍

      

    二. location语法规则:

      用法示例: location [=|~|~*|^~] /uri/ { … }   # 讲解如下:

      1.  = 开头表示精确匹配

      2.  ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。
           nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。
      3.  ~ 开头表示区分大小写的正则匹配
      4.  ~*  开头表示不区分大小写的正则匹配
      5.  !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则
      6.  / 通用匹配,任何请求都会匹配到。
     
    注意:  多个location配置的情况下匹配顺序为首先匹配 =,其次匹配^~,其次是按文件中顺序的正则匹配,最后交给 / 通用匹配.
              当有匹配成功时候,停止匹配,按当前匹配规则处理请求。
    location 匹配的优先级(与location在配置文件中的顺序无关)
    = 精确匹配会第一个被处理。如果发现精确匹配,nginx停止搜索其他匹配。
    普通字符匹配,正则表达式规则和长的块规则将被优先和查询匹配,也就是说如果该项匹配还需去看有没有正则表达式匹配和更长的匹配。
    ^~ 则只匹配该规则,nginx停止搜索其他匹配,否则nginx会继续处理其他location指令。
    最后匹配理带有"~"和"~*"的指令,如果找到相应的匹配,则nginx停止搜索其他匹配;当没有正则表达式或者没有正则表达式被匹配的情况下,那么匹配程度最高的逐字匹配指令会被使用。
  • 相关阅读:
    1722 最优乘车 1997年NOI全国竞赛
    5969 [AK]刻录光盘
    tarjan算法讲解
    求有向图的强连通分量个数 之 Kosaraju算法
    信使
    1405 奶牛的旅行
    P1828 香甜的黄油 Sweet Butter
    洛谷P2235 [HNOI2002]Kathy函数
    「BZOJ1010」[HNOI2008] 玩具装箱toy(斜率优化)
    BZOJ 1974 [Sdoi2010] auction 代码拍卖会(数位dp)
  • 原文地址:https://www.cnblogs.com/quzq/p/11195756.html
Copyright © 2020-2023  润新知