ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: location + error_page + url prefixes



On Fri, Jan 30, 2009 at 11:36:09PM +0300, Igor Sysoev wrote:

> On Fri, Jan 30, 2009 at 08:57:26PM +0200, Maxim Yemelyanov wrote:
> 
> > ссылки на сайте имеют вид /язык/url. все такие url-ы пробрасываются на 
> > mongrel
> > пытаюсь создать локализованные сообщения об ошибках: если при запросе
> > /ru/bad-url от бекенда приходит не 200-й ответ, то отобразить
> > сообщение на русском и т.п.
> > 
> >   location / {
> >       ...
> >       if (!-f $request_filename) {
> >         proxy_pass http://mongrel;
> >         break;
> >       }
> >   }
> > 
> >   # нелокализованное сообщение об ошибке
> >   error_page   500 502 503 504  /500.html;
> >   location = /500.html {
> >     root   /path-to-public;
> >   }
> > 
> >   location /ru {
> >     error_page   500 502 503 504  /500_ru.html;
> >     error_page   404              /404_ru.html;
> >   }
> >   location /en {
> >     error_page   500 502 503 504  /500_en.html;
> >     error_page   404              /404_en.html;
> >   }
> > 
> > в результате при запросе к любой странице /ru/good-url возвращается
> > локализованное сообщение, даже если запрос идёт на рабочий url.
> > наличие только лишь директив error_page в location не должно вызывать 
> > ошибку?
> 
>       location /ru/ {
>           error_page   500 502 503 504  /500_ru.html;
>           error_page   404           =  @mongrel_ru;
>       }
> 
>       location @mongrel_ru {
>           proxy_pass http://mongrel;
> 
>           proxy_intercept_errors   on;
>           proxy_recursive_errors   on;

-           proxy_recursive_errors   on;
+           recursive_error_pages   on;

> 
>           error_page   404         /404_ru.html;
>           error_page   ...
>       }
> 
>       location /en/ {
>           error_page   500 502 503 504  /500_en.html;
>           error_page   404           =  @mongrel_en;
>       }
> 
>       location @mongrel_en {
>           proxy_pass http://mongrel;
> 
>           proxy_intercept_errors   on;
>           proxy_recursive_errors   on;

-           proxy_recursive_errors   on;
+           recursive_error_pages   on;

>           error_page   404         /404_en.html;
>           error_page   ...
>       }
> 
> 
> -- 
> Игорь Сысоев
> http://sysoev.ru

-- 
Игорь Сысоев
http://sysoev.ru



 




Copyright © Lexa Software, 1996-2009.