ПРОЕКТЫ 


  АРХИВ 


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]

Rewrite в контексте одного server_name


  • To: nginx-ru@xxxxxxxxx
  • Subject: Rewrite в контексте одного server_name
  • From: "Andrey Korolyov" <andrey@xxxxxxx>
  • Date: Sun, 7 Sep 2008 00:47:59 +0400

Здравствуйте!

Имеется следующая конфигурация:

                server_name    example.com www.example.com;
                location  / {
                ....
                }
                location /location1/ {.....}
                location /location2/ {.....}

Внутри конфига корня должны находиться редиректы, переводящие, в случае использования www.example.com/blah на www.example.com/location1 и в случае использования example.com/blah на example.com/location1

Нижеприведенная конфигурация не срабатывает нужным образом, то есть редирект всегда идет на первое имя в списке server_name, то есть, в данном случае, на example.com/location1

location / {
                if ($http_host ~ ^www\.example\.com$) {
                        rewrite ^/$ /location1 permanent;
                        break;
                }
                if ($http_host !~ ^www\.example\.com$) {
                        rewrite ^/$ /location1 permanent;
                        break;
                }
}

Подскажите, какую переменную нужно использовать вместо http_host, чтобы получить желаемый результат, если это вообще возможно. Решение, которое имеется, меня не устраивает - продублировать полностью часть конфига, относящуюся к example.com для www.example.com и написать и там, и там редиректы на соответствующие домены.


 




Copyright © Lexa Software, 1996-2009.