场景
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并返回该文件。