Как правило, по умолчанию у сайта доступны две версии сайта с www и без www: "http://site.ru/" и "http://www.site.ru/". Поисковые машины рассматривают эти два сайта как разные сайты. В итоге в выдаче появляются дубли страниц, что негативно влияет на сайт в целом.
В индексе нужно оставлять только один вариант, либо с www, либо без. Чаще всего оставляют без www, чтобы сделать адрес сайта короче. Я согласен с таким подходом. Я написал статью, которая подробно раскрывает эту тему: что выбрать сайт с www или без www
Ниже рассмотрены несколько вариантов, как сделать полный 301 редирект (с каждой страницы) с применением файла .htaccess, поскольку это самый быстрый и лучший способ.
Варианты 301 редиректа с www на без www через htaccess
Во всех ниже рассмотренных вариантах домен site.ru естественно надо заменить на свой.
Вариант №1Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Вариант №2
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^www\.(.*) [NC] RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Вариант №3
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} !^site\.ru$ [NC] RewriteRule ^(.*)$ http://site.ru/$1 [R=301,L]
Варианты 301 редиректа с без www на www через htaccess
Рассмотрим противоположную задачу. Как сделать 301 редирект с домена без www на домен с www. Здесь также доступны два варианта.
Вариант №1Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} ^site.ru$ [NC] RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]
Вариант №2
Options +FollowSymLinks RewriteEngine on RewriteCond %{HTTP_HOST} !^www\.(.*) [NC] RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
Читайте также:
• Что такое домен
• Как сделать 301 редирект
• 301 редирект для удаления/добавления слэша в конце URL
• 301 редирект с index (.html и .php) на корень сайта "/"
• Как узнать видимость сайта
• Все про редирект .htaccess
• Как удалить страницу из индекса