Перенаправляем посетителей с домена без www на домен с www

Не так давно мы обратили внимание на то, что наш сайт размножился в поисковой выдаче. Домен без www живет отдельно от домена с www, то же самое касается и ip-адреса, и зеркал сайта. Эту проблему мы решили указав в robots.txt следующее:

Host: www.example.com

После этого из поисковой выдачи пропали наш ip-адрес и сайты-зеркала. Осталось только основное зеркало ― www.ibice.ru. Но как же перенаправить на главное зеркало посетителей, которые переходят по ссылкам без www (не из поисковых систем)? На сайте yes-www.org есть код для .htaccess, который перенаправляет все запросы с домена без www на домен с www.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^example\.com$ [NC]
RewriteRule ^(.*)$ http://www.example.com/$1 [R=301,L]

Если у Вас это сработает, то Вам повезло, потому как на нашем сервере ни этот, ни подобные коды не желали действовать ни в какую. Пока Геворг разбирается почему это не работает, я накатал небольшой код на PHP, который выполнял бы ту же функцию.

<?php
   $httpHost = $_SERVER['HTTP_HOST'];
   if($httpHost == "example.com"){
      header("Location: http://www.example.com".$_SERVER['REQUEST_URI'],true,301);
   }
?>

Этот фрагмент нужно вставить в скрипты сайта таким образом, чтобы он был выше какого-либо другого кода. В IWE его можно вставить в любом месте в конфигурационный файл. Прекрасно работает уже почти неделю. Единственный минус ― работает только для PHP-скриптов (т.е. при обращении к картинкам или текстовым документам перенаправление не происходит). Но у нас-то на сайте картинки ботам индексировать запрещено, а из текстовых файлов ― только robots.txt. На первое время сойдет, а потом может и Геворг чего нашаманит. Улыбка


15.08.2011, 19:20
  htaccess, редирект, www.
Просмотров: 930.
9