Quick question about try_files

Maxim Dounin mdounin at mdounin.ru
Sat Jan 8 00:03:26 MSK 2011


Hello!

On Fri, Jan 07, 2011 at 11:41:06AM -0800, Aaron Starr wrote:

> Hello, all.
> 
> nginx version: nginx/0.7.67
> 
> This works great to look first in fast local storage, and then fall back to
> slower storage for older archives:
> 
>     location ^~ /providers/ {
>       error_page 404 = @archives;
>       log_not_found off;
>     }
>     location @archives {
>       rewrite "/providers/(.*)" /archives/providers/$1 last;
>     }

This rewrites to /archives/... and searches for location again.  
Request will be handled elsewhere, and it's not known how it will 
be handled from the config snippet provided.

> I thought I could tidy this up by doing the following, but it doesn't work:
> 
>     location ^~ /providers/ {
>       try_files $uri /archives$uri @mongrel_app;
>     }
> 
> Anyone see why? Thanks in advance.

This should work as long as root for archives matches one for 
providers.  But won't work as long as you have something like

    location ^~ /archives/ {
        root /path/to/another/storage;
    }

in your config.

Maxim Dounin



More information about the nginx mailing list