Как настроить 301-й редирект?
Виды и коды на все случаи переадресации

Что такое 301-й редирект, и в каких ситуациях он может использоваться, мы уже ранее рассказывали в нашем блоге. Но обращаем ваше внимание, что, к сожалению, не существует единого редиректа на все случаи жизни. Его необходимо настраивать для решения конкретной задачи, а также исходя из технических возможностей вашего хостинга.

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

I. Редирект для файлов .htaccess или httpd.conf для Apache

1. Простой редирект. Этот способ переадресации подойдет, если вам надо:

  • перетащить сайт с одного доменного имени на другое
  • внести изменения в структуру сайта (например, изменились адреса некоторых страниц)
  • сохранить трафик из поисковиков и пузомерки (показатели сайта, например, тИЦ)

Реализуется достаточно просто, добавлением вот такой строчки в файл дополнительной конфигурации веб-сервера:

Redirect 301 / http://www.site.ru/

Смысл здесь в том, что вы говорите системе: всё, что будет в адресной строке после / , перенаправлять вот на этот адрес – и указываете нужный URL. Можно также использовать вот такой код:

RedirectPermanent / http://www.site.com/

В целом это одно и то же, просто разные модификации.

Важно! Мы не рекомендуем использовать данный редирект для настройки главного зеркала, потому что возможно появление циклической переадресации. Для этих целей лучше выбрать другой способ, о котором мы расскажем ниже.

Этот метод переадресации также подойдет, если вам надо сказать роботу, что изменился адрес только одной страницы. Для этого вставьте следующий код:

Redirect 301 /site/page.htm http://www.site1.com/pagenew.htm

или

RedirectPermanent /catalog http://www.site2.com/new-catalog/

2. SEO-редирект. Этот вид редиректа применяется, если вам надо сделать переадресацию с сайта без www на сайт с www (или наоборот). Так сказать, для настройки главного зеркала, чтобы не рассеивать усилия по продвижению на несколько доменов.

При переносе с домена с www на домен без www

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

При переносе с домена без www на домен с www

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

Важно! Перед этим кодом обязательно надо прописать правило, по которому мы исключим файл robots.txt для редиректа. Это можно сделать так:

<FilesMatch "robots.txt$">
RewriteEngine off
</FilesMatch>

Это важно, потому что файл robots.txt управляет поисковыми роботами. К примеру, прописывается основное зеркало для робота Яндекса и ответ http-заголовка от данного файла должен быть HTTP/1.1 200 OK. Если правило не указать, то индексация и склейка главного зеркала будет проходить медленнее.

3. Редирект для переадресации со старого сайта на новый. Используется в том случае, если вы хотите переводить пользователей, а также поисковых роботов со своего старого сайта на новый.

Здесь не рекомендуем использовать способ переадресации, который был описан в первом пункте. Корректнее применить вот такой код с правилом:

Options +FollowSymLinks
RewriteEngine on
RewriteRule (.*) http://www.newdomain.com/$1 [R=301,L]

4. Редирект для файлов. К примеру, расширение htm на html.

У вас появилась необходимость изменить имена файлов, но вы не хотите их переименовывать и перезаливать на сервер? В этом случае вам также поможет 301-й редирект. Для это используется такой код:

RewriteEngine on
RewriteBase /
RewriteRule ^(.*)\.htm$ $1.html [R=permanent]

II. Настройка редиректа в nginx

Редирект на nginx можно реализовать, вставив следующий код в файл, где вы указываете правила для переадресации:

if ($host = 'www.domain.com' ) {
rewrite ^(.*)$ http://domain.com$1 permanent;
}

III. Прописание редиректа с помощью скрипта отправки заголовка

Часто бывает так, что нет доступа в файл дополнительной конфигурации веб-сервера, а следовательно, нет возможности его редактировать. В такой ситуации можно сделать редирект с помощью специальных скриптов. Суть этого метода заключается в том, что клиенту или роботу передаются соответствующие заголовки, которым должна отвечать страница при 301-м редиректе. Рассмотрим три наиболее часто встречающихся случая:

1. PHP-редирект – самый распространенный вариант. Для прописания 301-го редиректа используем вот такой код, который рекомендуем вставить в самое начало страницы, с которой надо сделать редирект:

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

2. ASP-редирект

<%@ Language=VBScript %>
<%
Response.Status="301 Moved Permanently"
Response.AddHeader "Location", "http://www.new-url.com/"
response.end
%>

3. ASP.NET-редирект

<script runat="server">
private void Page_Load(object sender, System.EventArgs e)
{
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location","http://www.new-url.com/");
}
</script>

Вместо вывода еще немного полезной информации по 301-му редиректу. Помните, что последовательность правил очень важна при настройке переадресации. После настройки нового правила всегда проверяйте корректность его работы.

Если вы не можете самостоятельно справиться с настройкой 301-го редиректа на своем сайте, можете обратиться за помощью к нашим специалистам. А все вопросы пишите в комментарии к статье.

© 1PS.RU, при полном или частичном копировании материала ссылка на первоисточник обязательна.

Понравилась статья?

Подарок на 500 рублей
Разработка рекламы
Стратегия SMM
Книга по SMM
Бесплатный вебинар
SEO на 20 000 руб.
Скидка 30% на SERM
Маркетинговый аудит
Разработка сайта
Семантическое ядро
SEO-анализ сайта
Подарок на 10 000 руб.

Колесо фортуны –
крутите и выигрывайте подарки!

Введите свой email и нажмите на кнопку

Email

Поздравляем!

Активировать выигрыш
Закрыть и не показывать больше 

Популярные статьи

Все популярные статьи »

Комментарии (0)

Правила комментирования блога

Оставить коммент к статье

Читайте свежие статьи первыми

Дайджест новых статей по интернет-маркетингу 1 раз в неделю

Летим с нами в ТОП

Подписывайтесь на рассылку и получайте практические советы по продвижению сайта

Ваш email

Нажимая на кнопку «Подписаться», вы соглашаетесь на обработку персональных данных

Я уже с вами