multiple named locations in try_files

Oleg Terenchuk litwol at gmail.com
Sun Dec 6 12:36:53 MSK 2009


Sometime after posting to mailing list i came to the same solution.
thank you for confirming correctness :).

On Sun, Dec 6, 2009 at 4:33 AM, Igor Sysoev <igor at sysoev.ru> wrote:
> On Sat, Dec 05, 2009 at 07:10:08PM -0500, Oleg Terenchuk wrote:
>
>> Hello.
>>
>> According to english wiki, named locations may be used for other
>> purposes than fallback :
>> http://wiki.nginx.org/NginxHttpCoreModule#Named_Locations
>>
>> However when i tried "try_files @tier_ssi @tier_php" i observed the
>> following behavior in error_log debug:
>> 2009/12/05 18:53:30 [debug] 19908#0: *399 try to use file: "@tier_ssi"
>> "/usr/local/nginx/html at tier_ssi"
>> 2009/12/05 18:53:30 [debug] 19908#0: *399 try to use file: "@tier_php"
>> "/usr/local/nginx/html at tier_php"
>> 2009/12/05 18:53:30 [debug] 19908#0: *399 test location: "@tier_php"
>> 2009/12/05 18:53:30 [debug] 19908#0: *399 using location: @tier_php "/?"
>>
>> location @tier_php was tested first even though @tier_php was first in
>> try_files and location @tier_ssi ws not tested at all.
>>
>> meanwhile my confiuration defined both location @tier_ssi {} and
>> location @tier_php {}
>>
>> This behavior leads me to believe that nginx allows named location
>> only at the end of try_files, but documentation contradicts it. Which
>> is correct?
>>
>> Ideally i would like to be able to do try_files with multiple named
>> locations first being tier_ssi and second being tier_php fallback. my
>> tier_ssi try_files is a php fastcgi_pass to a different backend that
>> returns some content (and appropriate response headers). if tier_ssi
>> try_files returns with 404 header it would attempt tier_php in
>> try_files. tier_php on the other hand is proxy pass to a backend
>> different from fastcgi_pass in tier_ssi.
>
>   location / {
>       # tier_ssi
>       fastcgi stuff
>
>       fastcgi_intercept_errors  on;
>       error_page  404   = @tier_php;
>   }
>
>   location @tier_php {
>       ...
>   }
>
>
> --
> Igor Sysoev
> http://sysoev.ru/en/
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx
>



-- 
Oleg Terenchuk
Phone: 917 - 306 - 5653



More information about the nginx mailing list