Nginx中root和alias的区别
Nginx指定文件路径有两种方式:root和alias,他们的区别在于对location后面的URI的解释逻辑不同。
- root
寻找文件的逻辑是:root路径+location路径
- alias
寻找文件的逻辑是:使用alias路径替换location路径。 另外:alias
后面最好加上/
,否则会出现找不到文件的情况,root
后面则可有可无。 举个例子: 在服务器上新建两个a.txt
文件,分别存放在/home/wwwroot
和/home/wwwroot/page1
目录下,如下图所示: 在nginx中新建两个规则,分别使用root和alias指令,如下图所示: 运行结果: 在浏览器中访问:http://192.168.3.211:18003/page1/a.txt
按照上面nginx的配置,他会匹配上第一条规则,既使用root
的方式寻址。因此找到的a.txt应该是/home/wwwroot/page1/a.txt
。 结果如下图所示: 在浏览器中访问:http://192.168.3.211:18003/page2/a.txt
按照上面nginx的配置,他会匹配上第二条规则,既使用alias
的方式寻址。因此找到的a.txt应该是/home/wwwroot/a.txt
。 结果如下图所示:
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Charlie's Blog!
评论