zoukankan      html  css  js  c++  java
  • Nginx Location匹配举例

    1、
    location / {
           if (!-f $request_filename){
                  rewrite ^/(.+)$ /uri.php last;
          }
    }
    优先级最低的匹配,就是说其它所有location都不匹配时执行它,这里用了一个rewrite重定向到根下面的uri.php做处理。(如果uri.php也不存在那就会报404)
    2、
    location = / {
         *****
    }
    这个貌似和1长得差不多,就差一个=号就差大了,这个是最高优先级的匹配,是绝对匹配。当访问 http://host/ 时就会匹配到2
    3、
    location ^~ /static/ {
    }
    ^~ 是开头标志,这个匹配以/static/开头的路径,如 http://host/static/test_12431.html。复杂点可以作伪静态。
    4、
    location ~ .(gif|jpg|png|js|css)$ {
    }
    ~ 区分大小写的匹配。这个和3形成对比,3我只管匹配头,4我只管匹配尾部。这个匹配的意思就是所有以.gif,.jpg……结尾的文件,也就是静态文件,这个可以做公共资源的服务端缓存(虽然客户端的浏览器一般也做了)。
    5、
    location ~* .png$ {
    }
    ~*不分大小心匹配png格式的文件。可以匹配到 XXXXXX.png,XXXXXX.PNG,XXXXXX.Png,XXXXXX.pNg……
    6、
    location = /mob_api/session/device_login {
    }
    这个会绝对匹配到 /mob_api/session/device_login 这个路径(an手机游戏项目的一个登陆地址……)
     
    先说这么多,了解了操作符,熟悉了正则,各种匹配。  但是每次只有一个location会被匹配到,具体优先级参看Nginx的Location配置语法介绍、优先级说明

  • 相关阅读:
    Javascript、Jquery获取浏览器和屏幕各种高度宽度
    使用jquery修改css中带有!important的样式属性
    jQuery事件之on()方法绑定多个选择器,多个事件
    JS 实现类似打印的效果(一个字一个字显示)
    编写jQuery 插件
    HTML5中新增加Input 的种类
    巧用Ajax的beforeSend提高用户体验
    window窗口操作
    CIDR
    mysql
  • 原文地址:https://www.cnblogs.com/tdkj/p/3440152.html
Copyright © 2011-2022 走看看