Rewrite в контексте одного server_name
Igor Sysoev
is at rambler-co.ru
Sun Sep 7 10:09:05 MSD 2008
On Sun, Sep 07, 2008 at 12:47:59AM +0400, Andrey Korolyov wrote:
> Имеется следующая конфигурация:
>
> 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 и написать и там, и там
> редиректы на соответствующие домены.
http://sysoev.ru/nginx/docs/http/ngx_http_core_module.html#server_name_in_redirect
--
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list