301 редирект используется в первую очередь, когда страница или группа страниц сменила свой адрес. Такое происходит в тех случаях, когда изменяется структура сайта, при смене образующей URL-страницы и т.д. Об этом многие владельцы сайтов не задумываются и поэтому возникают дубли страниц, что может привести к потере позиций либо наложению фильтров от Яндекс и Google.
Помимо этого редирект 301 применяют для склейки зеркал (например, домен с www и без www). Это может способствовать повышению параметров тИЦ и PR, так как для поисковиков адрес сайта с "www" и без "www" - разные URL. Если владелец решил изменить адрес проекта в связи с изменением товаров и услуг, предоставляемых ранее, или решил зарегистрировать более короткий и красивый домен,- то здесь очень важно, чтобы посетители при обращении к адресу старого домена попадали на ту же страницу, что и ранее, но только уже расположенную на новом домене.
Redirect 301 в .htaccess
301 редирект в htaccess - это самый простой и популярный способ установки редиректов. Из преимуществ этого метода можно отметить тот факт, что он срабатывает на сервере до запуска различных скриптов ресурса и не создает дополнительную нагрузку. Вот несколько самых распространенных примеров (замените "tsipan.com.ua" на адрес вашего сайта):
301 редирект в .htaccess для домена с www. на домен без www.
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www\.tsipan\.com\.ua$ [NC]
RewriteRule ^(.*)$ http://tsipan.com.ua/$1 [R=301,L]
Обратный редирект с домена без www. на домен с www.
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^tsipan\.com\.ua$ [NC]
RewriteRule ^(.*)$ http://www.tsipan.com.ua/$1 [R=301,L]
Редирект 301 адреса c /index.php на корень сайта /
RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/
RewriteRule ^index\.php$ http://www.tsipan.com.ua/ [R=301,L]
Еще один пример:
RewriteCond %{THE_REQUEST} ^(GET|HEAD)\ /index\.php
RewriteRule .* / [R=301,L]
Тоже самое можно проделать и для /index.html, просто замените в примере php на html.
Редирект в nginx:
301 редирект в nginx для домена с www. на домен без www.
server {
server_name www.tsipan.com.ua;
rewrite ^ http://tsipan.com.ua$request_uri? permanent;
}
server {
server_name tsipan.com.ua;
.... основной конфиг ....
}
Еще пример (нежелательный):
if ($host = 'www.tsipan.com.ua' ) {
rewrite ^/(.*)$ http://tsipan.com.ua/$1 permanent;
}
Редирект PHP:
<?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.tsipan.com.ua/”);
exit();
?>