Nginx中root和alias指令的区别

Nginx中root和alias指令的区别

微信搜索 zze_coding 或扫描 👉 二维码关注我的微信公众号获取更多资源推送:

location /images/ {
    root /data/imgs/;
}

请求 URL 为 /images/a/1.jpg 时会映射到 /data/imgs/images/a/1.jpg

使用 root 时,URL 最左边的 / 后的内容会和 root 路径最右边的 / 进行拼接,在上例中就是 “/images/a/1.jpg” 和 “/data/imgs/” 中的红斜杠进行拼接,得到映射路径 /data/imgs/images/a/1.jpg


location /images/ {
    alias /data/imgs/;
}

请求 URL 为 /images/a/1.jpg 时会映射到 /data/imgs/a/1.jpg

使用 alias 时,URL 需要先去除 location 匹配的部分,在上例中就是 /images/a/1.jpg 先去除 /images/ 后就剩下 /a/1.jpg,然后用它和 alias 路径最右边的 / 进行拼接,也就是 “/a/1.jpg” 和 “/data/imgs/” 中的红斜杠进行拼接,得到映射路径 /data/imgs/a/1.jpg

Copyright: 采用 知识共享署名4.0 国际许可协议进行许可

Links: https://www.zze.xyz/archives/nginx-directive-root-alias.html

Buy me a cup of coffee ☕.