Блог > Полезное > 301 редирект для вашего ресурса

301 редирект для вашего ресурса

Для начала давайте разберемся, что такое редирект. Если говорить просто, то это перенаправление всех запросов с одного адреса на другой. Допустим, у вас возникла потребность перенести сайт с адреса www.site1.ru на адрес www.site2.ru. Каким образом можно это сделать? Можно просто скопировать контент с одного адреса на другой. Но в таком случае поисковые системы воспримут site2.ru как дубль, и пессимизируют его. Такая же ситуация произойдет, если сначала удалить site1.ru, а потом перенести контент на второй ресурс. Вроде бы замкнутый круг, но на самом деле эта проблема решаема. Нужно просто сделать редирект. Это позволит автоматически перенаправлять всех пользователей, заходящих на site1.ru на site2.ru. Стоит заметить, что поисковые роботы также будут направлены на новый адрес.
Но в таком случае проблема решается лишь частично, поскольку сайтов по-прежнему два, и все равно контент дублируется. Чтобы этого не происходило, и был придуман 301 редирект. Он буквально склеивает два домена. При этом все показатели старого сайта, такие как ТИЦ и PR будут перенесены на новый.

Как сделать 301 редирект с помощью .htaccess?

Это способ осуществляется путем редактирования кода файла .htaccess. При этом используется модуль mod_alias, а именно две директивы – Redirect и RedirectPermanent:

Redirect 301 /old-page.html http://new-domain.ru/new-page.html

или

Redirect permanent /old-page.html http://new-domain.ru/new-page.html

Это позволяет делать редирект отдельных адресов. Все дело в том, что URL каждой страницы нужно прописывать отдельно.
Также частенько возникает потребность перенести страницы сайта с одного поддомена на другой, например с www.site1.ru на site1.ru. В этих целях можно прописать синтаксис:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.domain\.com$ [NC]
RewriteRule ^(.*)$ http://domain.com/$1 [R=301,L]

Я думаю, не стоит объяснять, куда нужно вставлять адрес страницы.
Вот еще один способ, если нужно сделать перенаправление с чистого адреса на www:

Options +FollowSymLinks
RewriteEngine On
RewriteCond %{HTTP_HOST} ^domain\.com$ [NC]
RewriteRule ^(.*)$ http://www.domain.com/$1 [R=301,L]

Делаем редирект при помощи PHP

Также можно сделать 301 редирект с помощью скриптов. Чаще его делают через PHP. Для этого используйте код:

<?php
header(“HTTP/1.1 301 Moved Permanently”);
header(“Location: http://www.newdomain.ru/newdir/newpage.htm”);
exit();
?>

Это и есть два основных способа, позволяющих сделать 301-й редирект. Теперь перенос сайт на другой домен не является проблемой!

Статьи по теме: