zoukankan      html  css  js  c++  java
  • nginx location 语法

    location 语法
    location 有”定位”的意思, 根据Uri来进行不同的定位.
    在虚拟主机的配置中,是必不可少的,location可以把网站的不同部分,定位到不同的处理方式上.
    比如, 碰到.php, 如何调用PHP解释器? --这时就需要location
    location 的语法
    location [=|~|~*|^~] patt {
    }
    中括号可以不写任何参数,此时称为一般匹配
    也可以写参数
    因此,大类型可以分为3种
    location = patt {} [精准匹配]
    location patt{} [一般匹配]
    location ~ patt{} [正则匹配]

    如何发挥作用?:
    首先看有没有精准匹配,如果有,则停止匹配过程.

    语法规则: location [=|~|~*|^~] /uri/ { … }
    = 开头表示精确匹配
    ^~ 开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。
    ~ 开头表示区分大小写的正则匹配
    ~* 开头表示不区分大小写的正则匹配
    !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则
    / 通用匹配,任何请求都会匹配到。

    nginx location 的匹配优先级
    多个location配置的情况下匹配顺序为
    首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求

    在nginx的location和配置中location的顺序没有太大关系。正location表达式的类型有关。相同类型的表达式,字符串长的会优先匹配。

    以下是按优先级排列说明:

    等号类型(=)的优先级最高。一旦匹配成功,则不再查找其他匹配项。
    ^~类型表达式。一旦匹配成功,则不再查找其他匹配项。
    正则表达式类型(~ ~*)的优先级次之。如果有多个location的正则能匹配的话,则使用正则表达式最长的那个。
    常规字符串匹配类型。按前缀匹配。

  • 相关阅读:
    JS 学习笔记
    Input控件只允许输入指定字符
    NPOI导出excel使用
    combobox级联检索下拉选择框
    vue父组件调用子组件方法
    EasyUI设置Layout自适应浏览器宽度和高度
    EasyUI创建选项卡并判断是否打开
    Jquery+ajaxfileupload上传文件
    Jquery禁用网页右键菜单
    c#删除指定文件夹中今天之前的文件
  • 原文地址:https://www.cnblogs.com/microtiger/p/7615745.html
Copyright © 2011-2022 走看看