nginx root和alias的区别

nginx root 代理怎么配置都是404?

先来了解nginx root和alias的用法与区别。

root 指令

root 指令用于定义请求的根目录路径。Nginx 会将请求的 URI 附加到 root 指令指定的路径后面,以形成最终的文件系统路径。这意味着,如果你希望 Nginx 根据请求的 URI 直接映射到服务器上的文件,那么 root 指令是一个很好的选择。

server {  
    listen 80;  
    server_name example.com;  
  
    location /images/ {  
        root /data;  
    }  
}

这个例子中,如果客户端请求 http://example.com/images/logo.png,Nginx 会将 /images/logo.png 附加到 /data 后面,最终访问的文件路径是 /data/images/logo.png

alias 指令

alias 指令则用于修改 location 块中请求的 URI。与 root 不同,Nginx 不会将请求的 URI 附加到 alias 指定的路径上,而是直接使用该路径(或在该路径基础上添加 URI 中 alias 之后的部分)来定位文件。这在你希望请求的 URI 与文件系统的实际路径不完全匹配时非常有用。

server {  
    listen 80;  
    server_name example.com;  
  
    location /images/ {  
        alias /data/images/;  
    }  
}

但是,上面的配置实际上并不按预期工作,因为 alias 通常不会直接使用 /data/ 来替换 /images/,而是需要一个更精确的处理方式。如果你想要将 /images/ 下的所有请求映射到 /data/images/ 目录,你应该这样配置。

现在,你懂了吗?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值