Переадресация с одного сайта на другойИсходя из производственной необходимости было изменено доменное имя сайта. Однако сайт был уже проиндексирован в поисковых машинах и при поиске (например в яндексе) выдавалась ссылка на старое доменное имя. Чтобы не терять клиентов и не ронять статус сайта, на "переходный" период необходимо сделать редирект.
Итак, задача: клиентов идущих по ссылке www.old.sait.ru перенаправить на новый сайт www.new.sait.ru Вебсервер постоен на базе виртуальных хостов Apache. 1. Самый простой способ.
В корневой дирректории старого виртуального хоста размещаем файл .htaccess в котором прописываем всего одну директиву (либо добавляем ее в существующий .htaccess):
Redirect Permanent / http://new.site.ru/
Проверяем. Недостаток данного способа: поисковые роботы понижают сайты с таким редиректом. Поэтому как только проиндексировался новый адрес, старый виртуальный хост желательно ликвидировать.
2. Редирект с выдачей ошибки 301.
Считатается "легальным" способом сообщить поисковым роботам о смене адреса сайта. Так же в корневую дирректорию старого хоста помещаем .htaccess следующего содержания:
RewriteEngine On RewriteCond %{HTTP_HOST} ^old.site.ru RewriteRule (.*) http://new.site.ru/$1 [R=301,L]
Если использовались ссылки на старый сайт с www.old.site.ru, то необходитмо добавить еще две строчки: RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule (.*)$ http://travelagent.zabkray.net/$1 [R=301,L]
Проверяем. 3. Если .htaccess не работает, то есть редирект не отрабатывает, необходимо проверить и в случае необходимости отредактировать httpd.conf. Для виртуального хоста с которого мы осуществляем перенаправление в httpd.conf должна быть описанаследующая секция: <Directory "/var/www/html_oldsite"> Options Indexes FollowSymLinks AllowOverride All Order allow,deny Allow from all </Directory>
Проверяем еще раз. Должно работать.
Более подробно о Redirect
|