Nginx配置静态代理/静态资源映射时root与alias的区别,带前缀映射用alias

场景

Nginx搭建静态资源映射实现远程访问服务器上的图片资源:

Nginx搭建静态资源映射实现远程访问服务器上的图片资源_nginx 当作图片资源访问 博客-CSDN博客

以上在配置静态资源映射时使用的如下配置

复制代码
      location / {
            root   D:/pic_old/;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
       }

如果想实现在映射后的路径添加前缀,比如

复制代码
      location /report/ {
            root   D:/pic_old/;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
       }

原本想实现在访问

http://127.0.0.1:250/report/mark.jpg

时找到D:/pic_old/下的mark.jpg文件,发现却实现不了。

通过查看日志发现,注意这里配置的是test,不是pic_old

使用root,则Nginx 会将请求的 URL 路径与指定的根目录路径进行拼接。这意味着 URL 中的路径会映射到文件系统中的对应位置。

注:

博客:
霸道流氓气质-CSDN博客

实现

root配置

使用 root 指令时,Nginx 会将请求的 URL 路径与指定的根目录路径进行拼接。

这意味着 URL 中的路径会映射到文件系统中的对应位置。

假设我们有以下配置

复制代码
        location /report/ {
            root    D:/test/;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

当收到的请求是

http://127.0.0.1:250/report/mark.jpg

Nginx会查找文件系统中的D:/test/report/mark.jpg并返回该文件。

alias配置

与 root 不同,alias 指令允许我们在返回文件时,重写 URL 路径的部分或全部。

这对于需要在返回文件时修改 URL 路径的情况非常有用。

假设有如下配置

复制代码
        location /report/ {
            alias    D:/test/;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }

当收到的请求是

http://127.0.0.1:250/report/mark.jpg

Nginx会查找文件系统中的D:/test/mark.jpg并返回该文件。

相关推荐
保持低旋律节奏1 天前
linux——软件包、yum 安装和卸载
linux·运维·服务器
深圳市恒讯科技1 天前
美国服务器备份策略:快照、异地备份与恢复演练指南
运维·服务器·github
LSL666_1 天前
docker概述
运维·docker·容器
翼龙云_cloud1 天前
阿里云渠道商:无影云电脑怎么使用?
运维·服务器·阿里云·云计算·电脑
龙吟游戏1 天前
Ubuntu 25.10桌面版安装
linux·运维·ubuntu
筑梦之路1 天前
centos 7 grub加密 —— 筑梦之路
linux·运维·centos
米优1 天前
ubuntu设置分辨率
linux·运维·ubuntu
智能运维指南1 天前
2025企业DevOps平台选型指南:信通院认证优选,嘉为蓝鲸全链路赋能企业研发效能
运维·devops
wanhengidc1 天前
服务器都有哪些优缺点?
运维·服务器·科技·智能手机·云计算
视觉装置在笑7131 天前
awk 基础知识和进阶用法
linux·运维·服务器·正则表达式