美文网首页
Nginx Location指令使用

Nginx Location指令使用

作者: Jason_lai | 来源:发表于2020-06-16 08:22 被阅读0次

    一、语法结构

    location   [ = | ~ | ~* | ^~ ]   /uri/  { configuration }
    

    二、匹配模式

    1、普通字符串

    =
    ^~
    /uri
    /
    

    2、正则表达式

    ~
    ~* 
    

    三、匹配优选级

    =
    ^~
    ~、~*
    /、/uri
    

    四、运算符

    1、精确前缀匹配

    //写法
    location   =    / 
    //匹配
    192.168.2.1
    192.168.2.1/
    

    2、普通字符串匹配

    //写法
    location   ^~   /home 
    //匹配
    192.168.2.1/home
    192.168.2.1/home/
    192.168.2.1/home?id=10
    192.168.2.1/home/index.php
    

    3、区分大小写的正则匹配

    //写法
    location   ~    /home
    //匹配
    192.168.2.1/home
    192.168.2.1/home/
    192.168.2.1/home?id=10
    192.168.2.1/home/index.php
    

    4、忽略大小写的正则匹配

    //写法
    location   ~*   /home
    //匹配
    192.168.2.1/HOME
    192.168.2.1/home
    192.168.2.1/home/
    192.168.2.1/home?id=10
    192.168.2.1/home/index.php
    192.168.2.1/Home/index.php
    

    5、不带任何修饰符,表示前缀匹配

    //写法
    location   /home
    //匹配
    192.168.2.1/home
    192.168.2.1/home/
    192.168.2.1/home?id=10
    192.168.2.1/home/index.php
    

    6、通用匹配,任何未匹配到其他location的请求都会匹配到

    //写法
    location   / 
    //匹配
    192.168.2.1
    192.168.2.1/
    

    五、举例

    location = / {
      # 只匹配 / 的查询.
      [ configuration A ]
    }
    
    location ^~ /images/ {
      # 匹配任何以 /images/ 开始的查询并且停止搜索,不检查正则表达式。
      [ configuration B ]
    }
    
    location ~* \.(gif|jpg|jpeg)$ {
      # 匹配任何以gif, jpg, or jpeg结尾的文件,但是所有 /images/ 目录的请求将在Configuration C中处理。
      [ configuration C ]
    }
    
    location / {
      # 匹配任何以 / 开始的查询,但是正则表达式与一些较长的字符串将被首先匹配。
      [ configuration D ]
    }
    

    相关文章

      网友评论

          本文标题:Nginx Location指令使用

          本文链接:https://www.haomeiwen.com/subject/mnxlxktx.html