【发布时间】:2021-09-16 22:13:08
【问题描述】:
对于本地开发,我正在尝试从公共目录中提供静态内容。我的图像位于app/public/images,我的根是app/public。我的图像在/d/my_app_name/images/<image>.png 上查找。我正在匹配/d/my_app_name/images 位置,但试图弄清楚如何提取文件名并让 nginx 从图像目录中查找适当的文件名?我当前的设置:
root /app/public;
index index.php;
location /d/my_app_name/images/ {
root /images/; # <--- I guess this rule is making nginx look up a file that matches the entire relative path, rather than just the filename
}
更新 我能够让它匹配并仅从似乎正确的目录中查找文件名,但我仍然收到未找到的错误。我假设错误中显示的相对路径是相对于根目录的,在这种情况下,该文件/目录应该存在。
root /app/public;
index index.php;
location /d/my_app_name/images/ {
alias /images/;
}
当我转到localhost:8380/d/my_app_name/images/my_image.png 时,它正在 app/public/images 目录中查找正确的 png 文件,但它仍然说它不存在。
[error] 8#0: *1 open() "/images/my_image.png" failed (2: No such file or directory), client: 192.168.176.1, server: devbox, request: "GET /d/my_app_name/images/my_image.png HTTP/1.1", host: "localhost:8380"
图片保存在/app/public/images目录中。
【问题讨论】:
标签: nginx nginx-config nginx-location