nginx使用try_files的组合忽略root

时间:2014-10-16 08:36:22

标签: nginx

假设某个网站位于/ www / site / 我有一个目录/ www / site / images / where images。

我想首先在/www/site.optimized/images/中搜索文件中的try_files,然后在/ www / site / images /中搜索。这不起作用,这里似乎忽略了“root”。

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

1 个答案:

答案 0 :(得分:1)

经过更多的研究,我发现了这个解决方案:

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

    location @cache_fallback {
            root                    /www/site/;
    }

它首先看起来优化,然后它使用不同的"命名"位置以便检查正常目录。