Как сделать 301 редирект через .htaccess
Для чего нужен 301 редирект?
301 редирект предназначен для перенаправления по новому адресу, при этом все свойства старого сайта будут сохранены. Что значит ,,свойства,,? Первое и самое главное это вес страниц , Тиц и PR, а также ссылочный вес старого адреса, будет передан новому.
Давайте разберем простой пример, с которым вы столкнетесь сразу после создания сайта. Первое – нужно выбрать главное зеркало для сайта с www.Cайт.ru или просто Cайт.ru. Как правило, такая задача возникает, когда речь идёт об аренде сервера или VPS.
Для этого нужно отредактировать файл .htaccess и добавить в него следующие строки кода. Редактируем в notepad++ чтобы не возникли потом проблемы с кодировками.
Перенаправление домена с www на не-www
www.сайт.ru на сайт.ru
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
Редирект запросов с не-www на домен с www префиксом
То есть с Сайт.ru на www.Сайт.ru
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
Второй вариант, когда вы сталкиваетесь с редиректом при переносе вашего сайта на новый домен (адрес).
Пример у вашего сайта Тиц 30 PR 3, но вы попали под фильтр и хотите перенести его на другой домен с сохранением ссылочного веса.
Редактируем файл .htaccess, при этом, не забываем включить модули mod_alias (для поддержки директив Redirect, RedirectPermanent и RedirectMatch) и/или mod_rewrite (для использования реврайта) в php.ini.
Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]
Помните – редирект происходит сразу, но вот вес старых страниц на новый адрес, переходит довольно долго — вплоть до нескольких месяцев. Так что запаситесь терпением и не отчаивайтесь.