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

Andrey Korolyov xdel at quake.ru
Sun Sep 7 10:08:51 MSD 2008


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

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

                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 и написать и там, и там
редиректы на соответствующие домены.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx-ru/attachments/20080907/abc03f7c/attachment.html>


More information about the nginx-ru mailing list