nested error_page

Mauro Stettler mauro.stettler at gmail.com
Tue Dec 14 10:17:06 MSK 2010


great, that works, thanks!

On Tue, Dec 14, 2010 at 15:12, Igor Sysoev <igor at sysoev.ru> wrote:
> On Tue, Dec 14, 2010 at 03:07:08PM +0800, Mauro Stettler wrote:
>
>> hi
>>
>> i have a situtation where i would need something similar to this:
>>
>> location / {
>>   error_page 404 = /fallback_all;
>>   // do a request to get content from memcache, if not found go to /fallback_all
>> }
>>
>> location = /fallback_all {
>>   internal;
>>   error_page 404 = @404;
>>   // do a request to get content from fastcgi, if not found go to @404
>
>    recursive_error_pages on;
>
>> }
>>
>> location @404 {
>>   internal;
>>   // real 404 page
>> }
>>
>> but this doesn't work. if the fastcgi returns a 404 then nginx will
>> just display its own error page and ignore the second error_page
>> directive. i'm guessing that the reason is that at the first 404 error
>> it already sets the ngx_http_request_t->err_status to something which
>> makes it ignore the second 404.
>>
>> is there any way around this? i could probably make the fastcgi return
>> some other code, but i'm also not sure if this will make it work then.
>> is there any directive which could make the second error_page work?
>> something to allow nested error_pages
>
>
> --
> Igor Sysoev
> http://sysoev.ru/en/
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx
>



More information about the nginx mailing list