301 редирект домена без WWW на домен с WWW или Как сохранить ссылочную популярность сайта с помощью 301 редиректа

229732

Автор: StepForth
Перевод: Всеволод Козлов

Проблема

Поисковые системы считают сайты http://yoursite.ru/ и http://www.yoursite.ru/ абсолютно разными. Отсюда следует, что если часть сайтов будет ссылаться на http://yoursite.ru/, а другая часть на http://www.yoursite.ru/, то ссылочная популярность Вашего сайта делится между разными доменами, что не есть хорошо. С этим надо что-то делать.

Решение проблемы

Используя 301 редирект, который автоматически будет переадресовывать всех, кто заходит по ссылке, начинающейся с http://yoursite.ru/ на http://www.yoursite.ru/, Вы сможете дать поисковым системам понять, что эти 2 домена являются как бы одним.Таким образом, ссылочная популярность больше не будет распределяться между двумя доменами, а будет считаться общей, что позволит улучшить позиции сайта в поисковых системах.

Как активировать 301 редирект

Чтобы 301 редирект заработал, Вам необходимо подготовить сервер. Современные серверы работают либо с ПО Microsoft, либо Apache (Linux, Unix). Чтобы приступить к настройке 301 редиректа, Вам необходимо узнать, какой у Вас сервер (Microsoft или Apache). После того, как Вы это разузнали, приступайте читать дальше, выбрав нужный раздел данного руководства.

Краткое оглавление руководства:

Так же мы рекомендуем руководство: 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} ^example.ru
RewriteRule (.*) http://www.example.ru/$1 [R=301,L]

И наоборот, кому надо редирект домена с WWW на домен без WWW:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.example.ru$ [NC]
RewriteRule ^(.*)$ http://example.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:

< %@ Language=VBScript %>
< %
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». Если Вы такое видите, то у Вас все получилось!

Источник: How to 301 Redirect Non-WWW to WWW URLs