美文网首页
Nginx的root和alias

Nginx的root和alias

作者: 缘来是你ylh | 来源:发表于2019-02-21 14:33 被阅读10次

nginx指定文件路径有两种方式rootalias

root

语法:  root path;

默认值:root html;

配置段:http、server、location、if

alias

语法:  alias path;

配置段:location

root与alias主要区别在于nginx如何解释location后面的uri,这会使两者分别以不同的方式将请求映射到服务器文件上。

root的处理结果是:root路径+location路径
alias的处理结果是:使用alias路径替换location路径
alias是一个目录别名的定义,root则是最上层目录的定义。还有一个重要的区别是alias后面必须要用"/"结束,否则会找不到文件的。。。而root则可有可无

下面我们来做个试验:

我的目录结构

└── workspace
    ├── dir
    └── www
        └── test
            ├── html
            │   └── a.html     //文件内容  I am a html file in html
            └── otherhtml
                └── a.html     //文件内容  I am a html file in otherhtml
          

nginx配置root实例

server {
    listen 80;
    server_name test.html.com;
 
    location ^~ /test/html/ {
        root   /workspace/www;
    }
}
http://test.html.com/test/html/a.html       //I am a html file in html

nginx配置alias实例

server {
    listen 80;
    server_name test.html.com;
    
    location  ^~ /otherhtml/ {
        alias /workspace/www/test/otherhtml/;
    }
}

Otherhtml 后面的/千万不能省略

http://test.html.com/otherhtml/a.html       //I am a html file in otherhtml

相关文章

网友评论

      本文标题:Nginx的root和alias

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