我看了一遍又一遍,发现没有这样的实现,我想知道我正在尝试的是否可能。我有 3 个提供静态内容的相对路径:
Path1: /usr/local/www/style1/static/...
Path2: /usr/local/www/style2/static/...
Path3: /usr/local/www/style3/static/...
3 个不同的根本身是静态的,但从 /static 开始的内容只是半静态的(可能有点不同,具体取决于所提供的确切文件,并且可能存在于一个路径中而不是另一个路径中)。例如
/static/css/custom.css
/static/css/form/button.css
/static/css/form/images/buttondisabled.png
/static/images/ui/buttons/add_item.png
/static/images/ui/menu/help.png
以下是我想做的事情。基本上,如果请求“/static”内容,我想检查与path1关联的相对路径,如果没有找到,则检查与path2关联的相对路径,如果找不到,则检查与path3关联的相对路径。这看起来相当简单,但我还没有找到任何示例来概述如何完成此操作。我可以将 3 个不同的根设置为变量吗:
path1root /usr/local/www/style1;
path2root /usr/local/www/style2;
path3root /usr/local/www/style3;
location /static
{
try_files path1root/$uri path2root/$uri path3root/$uri (=404);
}
或者可以按如下方式完成,因为仅 /static 内容需要它:
location /static
{
path1root /usr/local/www/style1;
path2root /usr/local/www/style2;
path3root /usr/local/www/style3;
try_files path1root/$uri path2root/$uri path3root/$uri (=404);
}
或者我正在尝试做的事情是否可以完成?如果我不能用 3 个根来完成,是否可以只用 2 个根来完成,而不将其中之一定义为整体拱形基根。如果可以做到这一点并且远离正则表达式那就更好了——但如果需要的话那就是需要的。