zoukankan      html  css  js  c++  java
  • Nginx的alias与root的用法区别和location匹配规则

    1.alias与root的用法区别 

       最基本的区别:alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录。

    location /abc/ {   
        alias /home/html/abc/;
    }


    这个配置实际上指向的是/home/html/abc/目录。

    location /abc/ {   
        root /home/html/abc/;
    }

    这个指向的是/home/html/abc/abc/这个目录
    2.location匹配规则

    2.location匹配命令

    ~      #波浪线表示执行一个正则匹配,区分大小写
    ~*    #表示执行一个正则匹配,不区分大小写
    ^~    #^~表示普通字符匹配,如果该选项匹配,只匹配该选项,不匹配别的选项,一般用来匹配目录
    =      #进行普通字符精确匹配
    @     #"@" 定义一个命名的 location,使用在内部定向时,例如 error_page, try_files

    location 匹配的优先级(与location在配置文件中的顺序无关)
    = 精确匹配会第一个被处理。如果发现精确匹配,nginx停止搜索其他匹配。
    ^~ 则只匹配该规则,nginx停止搜索其他匹配,否则nginx会继续处理其他location指令。
    最后匹配理带有"~"和"~*"的指令,如果找到相应的匹配,则nginx停止搜索其他匹配;

    当没有正则表达式或者没有正则表达式被匹配的情况下,那么匹配程度最高的逐字匹配指令会被使用。

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

  • 相关阅读:
    jmeter之正则表达式
    python_appium搭建APP自动化测试环境
    网络编程
    四种单例模式
    Pycharm快捷键
    面向对象
    阶段性总结
    模块之numpy,pandas,matplotlib
    模块之json,pickle,os,sys,logging
    模块之Time,datatime,hashlib,hmac
  • 原文地址:https://www.cnblogs.com/chenjianhong/p/4144676.html
Copyright © 2011-2022 走看看