zoukankan      html  css  js  c++  java
  • nginx 之root与alias

    nginx 作为web服务器的时候配置本地文件路径使用的是root 或者alias 两者有很大的不同。主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。

    作用域

    [root]   配置段:http、server、location、if。

    [alias]  配置段:location。

    含义的不同

    注意两者不是改变请求的uri 而是在匹配的区域告知请求文件的路径。

    root  root路径+客户端uri

    root是作为一个最上层的目录,例如请求http://www.kzf.com/test/a.html root配置为 root  html/asdf/dev/  那么文件的寻找路径就是html/asdf/dev/test/a.html。root 后面的路径不会替代location的uri 而是最前面的根路径。

    alias      使用alias路径替换location路径

        location  /dev {
           alias /data/nginx/html/alias/;
    
        }

    注意alias后面路径替换的是location中的/dev 而不是客户端请求中的uri。例如请求为http://www.kzf.com/dev/a.html 那么文件寻找路径就是/data/nginx/html/alias/a.html,如果请求是http://www.kzf.com/dev/qa/a.html  那么文件寻找路径就是/data/nginx/html/alias/qa/a.html 并没有替换qa这个路径。

    alias是一个目录别名的定义,root则是最上层目录的定义。

    注意格式

    还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的,如果不配置/ 那么当请求的url 里面的路径最后也没有/ 那么就找不到,如果url 最后有/ 就可以。而root则可有可无

    alias 必须配置绝对路径不可用相对路径,而root 可以,因为root 有默认跟路径。例如root  可以配置为 root   html/asdf   但是alias 只能配置为/data/nginx/html/asdf/。

  • 相关阅读:
    hdu 3033 I love sneakers!
    poj 1742 Coins
    poj 1276 Cash Machine
    hdu 1114 Piggy-Bank
    poj 1293 Duty Free Shop
    hdu 1203 I NEED A OFFER!
    hdu 2546 饭卡
    树的直径
    CF 337D Book of Evil
    ST表
  • 原文地址:https://www.cnblogs.com/fanggege/p/12391468.html
Copyright © 2011-2022 走看看