Главная / Статьи / Как сделать 301-редирект в файле .htaccess? Примеры и правила настройки

Как сделать 301-редирект в файле .htaccess? Примеры и правила настройки

19 января 2021 г.

301-редирект используется для перенаправления поисковых систем и пользователей от недействительных страниц и доменов к актуальным. Переадресация помогает избежать тупиковых переходов, способствует успешному SEO-продвижению, когда меняется структура ресурса и/или изменяется его url-адрес.

Permanent redirect 301 в .htaccess настраивается на серверах Apache. Для этого разработаны типовые шаблоны, они легко встраиваются в существующий код и позволяют в быстрые сроки настроить правильные переходы.

301-редирект

Что это такое

Редирект – метод перенаправления ПС и пользователей на url, который отличается от запрашиваемого, поскольку прошлый утратил актуальность. Настраивается, если ресурс или раздел были перемещены и не будут возвращены в прежнее состояние. Задается на сервере, это более предпочтительно, или в браузере. Последнее влияет на скорость загрузки документа, а это негативно сказывается на восприятии всего сервиса.

Когда и зачем используется

Постоянный редирект – важный инструмент продвижения сайтов в поисковых системах, поскольку исключает переходы пользователей на нерабочие страницы и закрытые разделы.

Чаще всего настраивается, когда:

  • Меняется имя домена.
  • Вносятся большие изменения в протокол ресурса.
  • Корректируется и переделывается структура, появляются новые подразделы.
  • Переносится информация с одной страницы на другую.

Если нет redirect 301 HTML, увеличится количество тупиковых переходов, что понизит сайт в выдаче. При наличии переадресации, поисковики при новом обходе заметят, что прежний урл изменился и учтут, куда теперь нужно переводить пользователей. Тем самым сохраняется изначальный трафик и ресурс не теряет позиций.

Правила настройки постоянного редиректа

Переадресация, задаваемая через файл .htaccess, представляет собой стандартные наборы символов, в которых меняются только ссылки и некоторые значения в зависимости от поставленных задач.

Есть ряд основных нюансов – их соблюдают для грамотного структурирования кода и предотвращения возможных ошибок:

  • В начале работы всегда задается команда RewriteEngine On. Это механизм преобразований, благодаря которому выставленные пути будут работать.
  • Все комментарии начинаются с #.
  • Последовательные редиректы не допускаются. Любая длинная цепочка влияет на время загрузки страницы и дает лишнюю нагрузку на сервер.
  • Переадресация выстраивается от частного к глобальному, поэтому перенаправление пользователей из одного документа в другому будет выше, чем перевод с домена с www на без него.
  • Браузеры кэшируют подобную информацию, из-за этого правильность срабатывания переходов обязательно нужно проверять.

Редирект

Примеры 301-редиректа для разных случаев

Ниже приведены несколько стандартных кодов, которые используются при прописывании переадресации в документе .htaccess.

Перенаправление на страницу с иным url:

Redirect 301 /was.php http://www.site.ru/ new.php, где в начале прописывается старый адрес, а затем новый.

Переход на основное зеркало с www:

RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]

RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Редирект на зеркало без www:

RewriteCond %{HTTP_HOST} ^site\.ru$ [NC]

RewriteRule ^(.*)$ http://www.site.ru/$1 [R=301,L]

Переадресация всего сайта с http на https:

RewriteCond %{HTTPS} "on"

RewriteRule .* http://%{HTTP_HOST}%{REQUEST_URI} [R=301,L,QSA]

Перевод всего ресурса на https:

RewriteCond %{SERVER_PORT} ^80$ [OR]

RewriteCond %{HTTP} =on

RewriteRule ^(.*)$ https://domain.ru/$1 [R=301,L]

Путь к ошибке 404:

ErrorDocument 404 /404-for-me.php

Переход с index,php на корневую страницу:

RewriteCond %{THE_REQUEST} ^[A-Z]{3,9}\ /index\.php\ HTTP/

RewriteRule ^index\.php$ http://name.site/ [R=301,L]

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