Разработка интернет-магазина от 100 000 ₽

Продвижение сайтов от 15000 ₽

Техническая поддержка от 5000 ₽

Редирект 301

При изучении web-программирования пользователю часто встречается термин «redirect». Что он означает, и каковы его функции?

В упрощенной форме редирект — проводник посетителей сайта и поисковых роботов, помогающий выйти на нужную страницу. Необходимость в нем возникает в следующих ситуациях:

  • Изменилось доменное имя ресурса. Казалось бы, можно воспользоваться функцией Parked Domains – она перенаправит пользователя на нужный ресурс, но для паркинга это будет единый сайт. Редирект переведет пользователя и отразит перемещение в адресной строке браузера новым URL.
  • Для перехода с http://www.домен.расширение/ на http://домен.расширение/ — и обратно.
  • Для отображения в конце адреса сайта знака «/».
  • Для «склеивания» доменов для дальнейшей перепродажи в качестве нового доменного имени с обманчиво положительными ТИЦ и PR. Это «черный» способ использования редиректа, который получил распространение в интернете.

Перечень утвержденных статус-кодов redirect:

  1. Несколько вариантов на выбор-«300» Multiple Choices.
  2. Перемещено навсегда-«301» Moved Permanently.
  3. Временный редирект-«302» Temporary Redirect.
  4. Затребованный ресурс находится по др. адресу-«303» See Other.
  5. Содержимое не видоизменялось -«304» Not Modified.
  6. Доступ происходит через прокси сервер- «305» Use Proxy.

Пример работы редиректа со статус-кодом «301»

В строке веб-браузера вводится адрес сайта и после значка «слэш» приписывается index.php. После нажатия «Enter» создается HTTP-запрос для сервера, который через короткое время выдает HTTP-ответ. При наличии redirect с кодом «301», в поле «Location» можно увидеть новый адрес страницы, на которую пользователь будет перенаправлен.

Задача редиректа – оповестить посетителя о перемещении страницы и перенаправить  его на новую.

Пример кода на PHP

Создаем файл index.php:

<?php

Header («HTTP/1.1 301 Moved Permanently»);

Header («Location: news.php»);

Exit ();

?>

Пример действия простого redirect через .htaccess или httpd.conf

Redirect 301 /index.php /news.php

или Redirect permanent /index.php /news.php

Пример действия redirect через .htaccess с применением mod_rewrite-модуля

Способ нашел применение в Apache. Благодаря модулю длинные ссылки теряют «хвосты» и укорачиваются.

RewriteEngine on

RewriteBase/

GET /index.html HTTP/1.1

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

RewriteRule ^index\.php$ http://daxa.com.ua/news.php [R=301,L]

Что означает каждая строка?

RewriteEngine on – подключение видоизменяющей функции;

RewriteBase – очаг преобразования (корневой каталог);

RewriteCond – условие перехода к директиве RewriteRule;

{THE_REQUEST} – HTTP-запрос;

RewriteRule – условие видоизменения URL;

[R=301,L], где R – редирект со статус-кодом «301», а L – остановка механизма видоизменения.

Использование редиректа повышает лояльность к web-ресурсу со стороны поисковых систем.