Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Rewrite в контексте одного server_name
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
|