nginx - redirect 301

Stepanov Vitaliy nginx-forum на nginx.us
Пн Мар 5 11:48:35 UTC 2012


Добрый день!
Подскажите пож-та кто сталкивался,
может можно каким нибудь "глобальным"
способом прописать редирект 301 (склеить
домен – к примеру freebsd.ru и www.freebsd.ru)?
Вроде как Игорь Сысоев предлагал
следующие:
server {
server_name ~^(?!www\.);
rewrite ^ http://www.$host$request_uri permanent;
}
Ноооо у меня версия nginx version: nginx/0.8.54
И данная конструкция не работает –
переадресовывает на www.www.freebsd.ru (т.е.
добавляет лишний www). Пробовал и другие
варианты.
Когда я делаю так:
server {
listen 80;
server_name www.freebsd.ru;
rewrite ^ http://www.freebsd.ru$request_uri? permanent;
}
или так
server {
listen 80;
server_name www.freebsd.ru;
rewrite ^ http://www.freebsd.ru$request_uri;
}
или так
server {
listen 80;
server_name www.freebsd.ru;
rewrite ^(.*) http://www.freebsd.ru$1; или rewrite ^(.*)
http://$host$1;
}
возникает множественная переадресация
в браузере, т.е. редирект производится,
НО
браузер тормозит и сообшает о
множественной переадресации. Если
изменить домен,
ну скажем так:
server {
listen 80;
server_name www.freebsd.ru;
rewrite ^ http://www.ya.ru$request_uri? permanent; #301 redirect
}
То все проходит на ура ))))))))))))))0
Уже второй день борюсь с проблемой и не
пойму в чем дело то может быть.
Если кто сталкивался может подскажет в
чем проблема?

Posted at Nginx Forum: http://forum.nginx.org/read.php?21,223391,223391#msg-223391



Подробная информация о списке рассылки nginx-ru