nginx中的root和alias
一句话总结:root会将location名称拼接到目录后面作为资源目录;alias会直接从目录找寻,不拼接location名称。
root
1 | Syntax: root path; |
为请求设置根目录。例如,使用以下配置
1 | server { |
在这个例子中,/usr/share/nginx/html 被设置为文件根目录。这意味着当 Nginx 接收到指向 test.com/abc/index.html 的请求时,它会从 /usr/share/nginx/html/abc/ 目录开始查找请求index.html的资源。
路径值可以包含变量,除了$document_root和$realpath_root。
alias
1 | Syntax: alias path; |
定义指定位置的替换。例如,使用以下配置
1 | server { |
这个时候,请求test.com/def/index.html将会从alias /usr/share/nginx/testAlias/目录来寻找index.html,区别于root指令,不是从/usr/share/nginx/testAlias/def/目录找。
有一种情况
1 | location /images/ { |
当location匹配alias指令目录的最后一部分时,这时候等同于root,并且推荐使用root指令来替代:
1 | location /images/ { |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 禅心阁!
评论