ПРОЕКТЫ 


  АРХИВ 


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 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;

          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;

          error_page   404         /404_en.html;
          error_page   ...
      }


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



 




Copyright © Lexa Software, 1996-2009.