我有一个 Nginx 配置,可以正常工作并正确提供静态文件:
location /static/ {
alias /tmp/static/;
expires 30d;
access_log off;
}
但是我现在要做的是如果
/tmp/static
中不存在静态文件, Nginx 在 /srv/www/site/static
中查找文件.我不知道如何实现,我用 try_files
尝试了一些东西,但我不知道如何正确使用它。
最佳答案
您可以将根设置为要使用的两个路径的公共(public)前缀(在本例中为/),然后只需在 try_files 参数中指定其余路径:
location /static/ {
root /;
try_files /tmp$uri /srv/www/site$uri =404;
expires 30d;
access_log off;
}
在某个位置使用 root/似乎令人不安,但 try_files 将确保不会提供/tmp/static 或/srv/www/site/static 之外的文件。
关于nginx - 让 Nginx 从多个来源提供静态文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12272999/