场景
Nginx搭建静态资源映射实现远程访问服务器上的图片资源:
https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/117283572
以上在配置静态资源映射时使用的如下配置
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 中的路径会映射到文件系统中的对应位置。
注:
博客:
https://blog.csdn.net/badao_liumang_qizhi
实现
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并返回该文件。