Курсы обучения
+7 (351) 777-80-70

Редиректы Часто задаваемые вопросы / Страницы и компоненты / Общие вопросы по разделам

Ухватить самую суть о редиректах можно здесь.

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

Также могут быть перенаправления со страницы с доменом www на её бездоменную версию и наоборот. Или перенаправления с http-протокола на https и обратно. Или перенаправления с /brands/ на /help/ чисто по фану.


Существует два типа перенаправления (при этом для пользователя в их использовании нет никакой разницы):

  1. Постоянный редирект (301) – название говорит само за себя. Это навсегда. Старого адреса больше нет и не будет, страница теперь доступна лишь по новому URL, а значит и поисковики могут убирать устаревшую страницу из выдачи и заменять её новой (той, на которую и идёт перенаправление).

  2. Временный редирект (302) – используется при проведении технических работ с сайтом; для поисковых ботов 302 – это сигнал, что страница будет возвращена на свой старый URL, а потому в выдаче её не следует каким-либо образом менять.


Редиректы настраиваются двумя способами:

  1. На хостинге

    Преимущество данного способа – простота настройки (нет необходимости использовать регулярные выражения).

    Недостаток – наработки не перенесутся в случае «переезда» сайта.


  2. Через файл .htaccess

    Плюс этого способа – настроенные редиректы перенесутся с сайтом при переезде.

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

Во избежание печальных последствий настоятельно рекомендуется работать с файлом .htaccess через ftp.


В файле .htaccess (находится в корне сайта) прописываются обработчики различных событий.

Прежде всего настраивается перенаправление на собственную страницу 404 – будь то внутренняя ошибка или ошибка со стороны сервера.

	 ErrorDocument 404 /404.php

Далее прописываются параметры для различных версий php (например, смена кодировки).

И наконец, в разделе mod_rewrite после команды

RewriteEngine on
прописываются собственно редиректы.

Структурно они состоят из RewriteCond (условие, необязательно) и RewriteRule (правило, без него редиректа вообще не будет), обычно эти двое работают в связке.



Символы для регулярных выражений

 Символ  Значение
 ^   начало строки
 $   конец строки
 *   повторение предшествующего символа бесконечное число раз
 +   аналогично предыдущему
 .   замена одного символа
 [ ]
  диапазон значений
 #   комментарий
 \   экранирующий символ


Флаги – дополнительные опции, прописываются в конце правил.

Основные из флагов:

[R] – Redirect, производит процесс остановки изменения URL и возвращает результат

[L] – Last, останавливает формирования URL, строка считается окончательной

[NC] – NoCase, отключает проверку регистра символов


Примеры:

Перенаправление со страницы /page1/ на страницу /page2/:

	 RewriteRule ^page1 /page2/$1 [R=301,L] 

Переход с домена www на без домена www:

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

И ещё один пример:

	 RewriteRule ^company/info/news/(.*) /company/news/$1 [R=301,L] 


# используется для комментариев (указание даты внесения и/или имени вносящего правки). Например:

	 #0000-12-25 by JC


Проверяют редиректы вручную или с помощью сторонних сервисов.

Перед проверкой рекомендуется провести сброс кэша сайта и браузера.

Для ручной проверки достаточно ввести URL в адресную строку. Если всё сделано правильно, то URL автоматически изменится и страница успешно загрузится.

Для автоматизированной проверки можно использовать, например, сервис http://www.redirect-checker.org/


Наши решения