zoukankan      html  css  js  c++  java
  • nginx location 的配置

    一、基本语法:location [=|~|~*|^~] /uri/ { … }

    二、分类:

     1.基本location:以“ = ”或“ ^~ ”为前缀或者没有任何前缀的 /uri/ 

     2.正则location:以“ ~ ”或“ ~* ”为前缀的 /uri/

     基本location 又分为2种:

      1)严格精确匹配:  “ = ” 

      2)最大前缀匹配: 无前缀 或者以“ ^~ ”

    三、解释:

      1)= 严格匹配。如果这个查询匹配,那么将停止搜索并立即处理此请求。
      2)~ 为区分大小写匹配(可用正则表达式)
      3)~* 为不区分大小写匹配(可用正则表达式)
      4)!~和!~*分别为区分大小写不匹配及不区分大小写不匹配
      5)^~ 如果把这个前缀用于一个常规字符串,那么告诉nginx 如果路径匹配那么不测试正则表达式。

    四、规则:

      1.先匹配普通 location ,再匹配正则 location ,但是如果普通 location 的匹配结果恰好是“严格精确( exact match )”的,则 nginx 不再尝试后面的正则 location ;如果普通 location 的匹配结果是“最大前缀”,则正则 location 的匹配覆盖普通 location 的匹配。

      2.基本location 中,严格精确匹配大于最大前缀

      2.对于普通 location 指令,匹配规则是:最大前缀匹配(与顺序无关),如果恰好是严格精确匹配结果或者加有前缀“ ^~ ”或“ = ”(符号“ = ”只能严格匹配,不能前缀匹配),则停止搜索正则 location ;但对于正则 location 的匹配规则是:按编辑顺序逐个匹配(与顺序有关),只要匹配上,就立即停止后面的搜索。

  • 相关阅读:
    同类分布[AHOI2009]
    简单记录一下ruby 循环
    ruby中的respond to ?用法
    ruby中的return方法及class实例方法的initialize方法
    ruby中的字符串分隔符--split
    三次握手+四次挥手
    DNS服务器的简介——2
    HTTP-报文结构解析
    ruby中的三目操作符和include?操作
    ruby中的extend 和 include
  • 原文地址:https://www.cnblogs.com/yupeng/p/3491650.html
Copyright © 2011-2022 走看看