nginx忽略包含try\u文件的根目录

nginx忽略包含try\u文件的根目录,nginx,Nginx,假设一个网站位于/www/site中/ 我有一个目录/www/site/images/其中有图像 我想使用try_文件,首先在/www/site.optimized/images/中搜索文件,然后在/www/site/images/中搜索文件。这是无效的,似乎这里忽略了“根” location ~* ^\/images\/.+\.(jpg|jpeg)$ { root /www/; try_files

假设一个网站位于/www/site中/ 我有一个目录/www/site/images/其中有图像

我想使用try_文件,首先在/www/site.optimized/images/中搜索文件,然后在/www/site/images/中搜索文件。这是无效的,似乎这里忽略了“根”

location ~* ^\/images\/.+\.(jpg|jpeg)$ {
        root                    /www/;
        try_files               /site/$uri /site.optimized/$uri;
}

经过进一步研究,我发现了这个解决方案:

    location ~* ^\/images\/.+\.(jpg|jpeg)$ {
            root                    /www/site.optimized/;
            try_files               $uri @cache_fallback;
    }

    location @cache_fallback {
            root                    /www/site/;
    }
它首先在“优化”中查找,然后使用不同的“命名”位置来检查普通目录