zoukankan      html  css  js  c++  java
  • nginx通配符


    1、Nginx路径匹配符号
    = 表示精确匹配
    ^~ 表示uri以某个常规字符串开头,大多情况下用来匹配url路径,nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)。
    ~ 正则匹配(区分大小写)
    ~* 正则匹配(不区分大小写)
    !~和!~*分别为区分大小写不匹配及不区分大小写不匹配 的正则
    / 任何请求都会匹配

    2、符号的优先级
    首先匹配 =,其次匹配^~, 其次是按文件中顺序的正则匹配,最后是交给 / 通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。

    3、例子,有如下匹配规则:

    location = / {
    #规则A
    }
    location = /login {
    #规则B
    }
    location ^~ /static/ {
    #规则C
    }
    location ~ .(gif|jpg|png|js|css)$ {
    #规则D
    }
    location ~* .png$ {
    #规则E
    }
    location !~ .xhtml$ {
    #规则F
    }
    location !~* .xhtml$ {
    #规则G
    }
    location / {
    #规则H
    }

    4、Rewirte配置

      rewrite指令的最后一项参数为flag标记,flag标记有一下四种,说明一下:

      1> last-标记在本条rewrite规则执行完毕后,会对其所在server{......}标签重新发起请求。使用last实现URI重写后,浏览器地址栏不变。使用alias指令必须用last标记。

      2> break-标记在本条规则匹配完成后,终止匹配,不再匹配后面的规则。使用break实现URI重写后,浏览器地址栏不变。使用proxy_pass指令时,需要使用break标记。

      3> redirect-返回302临时重定向,浏览器地址会显示跳转后的URL地址。

      4> permanent-返回301永久重定向,浏览器地址会显示跳转后的URL地址。

  • 相关阅读:
    ZooKeeper Java例子(六)
    css盒模型
    竖直方向三栏布局
    水平方向三栏布局
    js判断一个字符串是以某个字符串开头
    js防止重复点击
    升级 AngularJS 至 Angular
    js实现大文件分片上传的方法
    使用svn进行本地代码管理
    angular使用代理解决跨域
  • 原文地址:https://www.cnblogs.com/uestc2007/p/14252700.html
Copyright © 2011-2022 走看看