Как-то возникла задача перенаправить сайт клиента с одного адреса, который успешно проиндексирован в поисковых системах, на новый.
Пример задачи: есть домен mydomain.com, разумеется он есть в Яндексе и не плохо там раскручен. Появляется второй, более интересный домен, скажем domain.ru Разумеется сайт для обоих доменов один. Как заставить скрипт определять, на нужный ли домен зашел посетитель? А в случае, если посетите зашел на новый домен сам, как сделать чтобы редирект не срабатывал?
Решим эту задачу не средствами скриптов, а глобально, на уровне веб-сервера Apache, с подключенным модулем mod_rewrite.
мы перечисляем домены, с которых ждем посетителей. В нашем примере мы прослушиваем домены mydomain.com и domain.com и перенаправляем с них посетителей на домен www.domain.ru. Для SEO очень важно, что поисковым системам мы выдаем 301 редирект.
Метод очень хороший, глобальный и не вызывает у поисковых систем аллергию. Однако в процессе обсуждения задачи с коллегами по 1С-Битрикс были найдены новые методы:
Плюсы очевидны: 1) Не надо прописывать имена доменов - то бишь универсальна. 2) Учитывает наличие путей или параметров после URL и передаёт их при редиректе.
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.domain.ru$
RewriteRule ^(.*)$ http://www.domain.ru$1 [R,L]
на тот случай, если наберут ww.domain.ru или wwww.domain.ru
UpDate: Еще вариант, если нужно с www.domain.ru перейти на domain.ru: