Проблема
Поисковые системы считают сайты http://yoursite.ru/ и http://www.yoursite.ru/ абсолютно разными. Отсюда следует, что, если часть сайтов будет ссылаться на http://yoursite.ru/, а другая часть на http://www.yoursite.ru/, то ссылочная популярность вашего сайта делится между разными доменами, что не есть хорошо. С этим надо что-то делать.
Решение проблемы
Используя 301 редирект, который автоматически будет переадресовывать всех, кто заходит по ссылке, начинающейся с http://yoursite.ru/ на http://www.yoursite.ru/,
вы сможете дать поисковым системам понять, что эти два домена являются
как бы одним. Таким образом, ссылочная популярность больше не будет
распределяться между двумя доменами, а будет считаться общей, что
позволит улучшить позиции сайта в поисковых системах.
Как активировать 301 редирект
Чтобы
301 редирект заработал, вам необходимо подготовить сервер. Современные
серверы работают либо с ПО Microsoft, либо Apache (Linux, Unix). Чтобы
приступить к настройке 301 редиректа, Вам необходимо узнать, какой у Вас
сервер (Microsoft или Apache). После того, как вы это разузнали,
читайте дальше, выбрав нужный раздел данного руководства.
Краткое оглавление руководства:
• Установка 301 редиректа домена без WWW на домен с WWW на Apache сервере • Установка 301 редиректа домена без WWW на домен с WWW на Microsoft IIS сервере
Так же мы рекомендуем руководство: 301 редирект сохраняет ссылочную структуру сайта
Установка 301 редиректа домена без WWW на домен с WWW на Apache сервере
1.
Прежде всего, убедитесь в том, что на вашем Apache сервере активен
модуль ModRewrite. В основном он активен по умолчанию, но убедиться
лишний раз не помешает во избежание проблем в дальнейшем. Если же данный
модуль неактивен, то просто свяжитесь со службой поддержки своего
хостинг-провайдера и объясните им ситуацию. Проблем при активации
данного модуля быть не должно.
Если же у Вас есть доступ к файлу
httpd.conf, то вы сможете активировать данный модуль собственноручно.
Для этого откройте данный файл для редактирования (не забудьте сперва
сделать его резервную копию) и раскомментируйте следующую строку:
LoadModule rewrite_module modules/mod_rewrite.so
После того, как раскомментируете данную строку, сохраните файл и перезагрузите сервер, чтобы продолжить работать дальше.
2. Скачайте на свой компьютер с сервера файл .htaccess
3. Сделайте резервную копию данного файла и сохраните ее, по возможности, в другом месте на компьютере.
4. Откройте оригинальный файл .htaccess для редактирования, например, в блокноте.
5. Теперь добавьте в него следующие строки, но будьте внимательны и не забудьте заменить example.ru на адрес своего сайта
RewriteEngine On RewriteCond %{HTTP_HOST} ^domain.ru$ [NC] RewriteRule ^(.*)$ http://www.domain.ru/$1 [R=301,L]
6. Сохраните изменения в файле и загрузите его на сервер.
7. После этого откройте браузер и в адресной строке введите адрес своего сайта без www, например, http://example.ru/
и зайдите на сайт. Если вы все сделали правильно, то в адресной строке
браузера автоматически произойдет изменение - адрес сайта с введенного
вами сменится на http://www.example.ru/.
8.
Но чтобы на 100% быть уверенным в успешности проделанного, я вам
советую зайти сюда, ввести адрес сайта без WWW. Данный инструмент
покажет вам, работает ли настроенный вами 301 редирект или нет. Если вы
все сделали правильно, то должны будете увидеть следующее (особое
внимание уделите выделенным жирным участкам кода):
#1 Server Response: http://example.ru HTTP Status Code: HTTP/1.1 301 Moved Permanently Date: Wed, 14 Mar 2007 22:49:28 GMT Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b Location: http://www.example.ru/ Connection: close Content-Type: text/html; charset=iso-8859-1 Redirect Target: http://www.example.ru/
#2 Server Response: http://www.example.ru/ HTTP Status Code: HTTP/1.1 200 OK Date: Wed, 14 Mar 2007 22:49:28 GMT Server: Apache/1.3.27 (Unix) PHP/4.4.1 FrontPage/5.0.2.2510 mod_ssl/2.8.14 OpenSSL/0.9.6b Connection: close Content-Type: text/html
9. Если у вас в ключевых (выделенных жирным) местах все сошлось, то все работает.
Если
же вы проделали указанные выше шаги и не добились требуемого
результата, то воспользуйтесь резервной копией файла .htaccess –
проделайте с ней еще раз все указанные выше действия, но будьте
предельно внимательны. Выверяйте каждый шаг.
Если же и сейчас
ничего не получилось, то свяжитесь со службой поддержки своего
хостинг-провайдера, объясните им ситуацию и пусть они примут
соответствующие меры, нацеленные на решение вашей проблемы. Установка 301 редиректа домена без WWW на домен с WWW на Microsoft IIS сервере Microsoft
сервера не имеют файла .htaccess, поэтому вам будет проще связаться со
службой поддержки своего хостинг-провайдера и попросить их решить вашу
проблему. Если же служба поддержки не компетентна в данном вопросе, то
ниже приводится пошаговая инструкция, которую вы можете им предоставить:
1. Используя Internet Services Manager, создайте новый веб-сайт с уникальным IP, используя http://example.ru или, как альтернатива, можно избежать использования уникального IP, задействовав виртуальный веб-сайт www.example.ru
2.
Теперь проверьте заголовки, отдаваемые сервером для каждого из сайтов,
используя данный инструмент. Сервер должен отдавать 200 OK для обоих
сайтов.
3. Добавьте следующий код на главную страницу сайта http://example.ru:
< % Response.Status="301 Moved Permanently" Response.AddHeader "Location", http://www.example.ru %>
Внимание! Вносить какие-либо изменения в этот код нельзя, скопируйте и вставьте его в таком виде, как есть.
4. Чтобы убедиться в работоспособности 301 редиректа, зайдите на сайт http://example.ru. Затем воспользуйтесь данным инструментом для сайта http://example.ru
и убедитесь, что в результате проверки есть следующие данные: "HTTP
Status Code: HTTP/1.1 301 Moved Permanently". Если Вы такое видите, то у
Вас все получилось.
|