Правильный 301 редирект
301 редирект - ошибка, возвращаемая при обращении к адресу страницы, означает, что URL был на постоянной основе перенесен на новый адрес, также указанный в HTTP заголовке.
Редирект с номером ошибки 301 - moved permanently, наилучший способ сохранить позиции сайта в поисковых системах при его переносе на новую CMS.
Как пользователи, зашедшие через браузер, так и поисковые роботы будут перенаправляться по новому адресу, при этом, для поисковых роботов все свойства старого URL, будут переданы новому URL.
При 301 редиректе произойдет склейка старого и нового адресов: параметры тИЦ и вес страницы старого адреса будет передан новому URL.
Редирект с помощью директивы RewriteRule модуля mod_rewrite
Перенаправление домена с www на домен без www
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.(.*) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]
Перенаправление с домена без www на домен с www
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]
Вариант 2: Перенаправление домена с www на домен без www
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]
Вариант 2: Перенаправление с домена без www на домен с www
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.(.*) [NC]
RewriteRule ^(.*)$ http://www.%1/$1 [R=301,L]
301 Редирект в nginx
if ($host = ‘www.domain.com’ ) {
rewrite ^(.*)$ http://domain.com$1 permanent;
}
301 редирект можно осуществлять также с помощью скриптов, отправляя клиенту необходимые заголовки:
HTTP/1.1 301 Moved Permanently
Location: http://www.newdomain.ru/newdir/newpage.htm
301 редирект на PHP
<?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.newdomain.ru/newdir/newpage.htm”);
exit();
?>
Как проверить 301 редирект?
301 редирект проверяется очень просто. Все, что вам нужно, это ввести в строке браузера старый адрес страницы. Если произойдет перенаправление на новый URL-адрес, то скорее всего редирект прописан верно.
В некоторых случаях перед тем как проверить 301 редирект, приходится чистить кэш браузера. Поэтому если перенаправление не происходит, возможно, вы забыли это сделать.
Удачи!