Quick question about try_files

Maxim Dounin mdounin at mdounin.ru
Sat Jan 8 04:17:27 MSK 2011


Hello!

On Fri, Jan 07, 2011 at 01:27:32PM -0800, Aaron Starr wrote:

> Maxim,
> 
> Thanks for your quick reply!
> 
> I should have included that in both cases, the default handler is this:
> 
>     location / {
>       try_files $uri $uri/index.html @mongrel_app;
>     }
> 
> And, there is no /archives/ handler. So, here are the snippets that I think
> are relevant. Working:
> 
>     location ^~ /providers/ {
>       error_page 404 = @archives;
>       log_not_found off;
>     }
>     location @archives {
>       rewrite "/providers/(.*)" /archives/providers/$1 last;
>     }
>     location / {
>       try_files $uri $uri/index.html @mongrel_app;
>     }
> 
> Not working:
> 
>     location ^~ /providers/ {
>       try_files $uri /archives$uri @mongrel_app;
>     }
>     location / {
>       try_files $uri $uri/index.html @mongrel_app;
>     }

This should work (and works here without problems, just tested in 
both 0.9.3 and 0.7.67).  Note though that the second form (with 
try_files) won't work with directories.

> Also, I should mention that it in the not-working case, the behavior is that
> it will correctly find the file in /providers/... but if the file is moved
> to /archives/providers/..., it will no longer find it.
> 
> I've put all the location directives here: http://pastie.org/1438414

Could you please provide debug log for working and non-working 
cases?  See http://wiki.nginx.org/Debugging for basic 
instructions.

Maxim Dounin



More information about the nginx mailing list