Учимся Делать Правильный Редирект
Что такое редирект?
Редирект (или перенаправление, переадресация, форвардинг) - это способ, который позволяет один и тот же документ сделать доступным с других адресов (URL'ов).
Как это работает?
Вы приходите на одну страничку (https://redirekt.info/stranica-s-ustanovlennym-redirectom.html).
После ее загрузки, Ваш браузер автоматически перенаправляет Вас на другую (https://redirekt.info/article/pishem-redirekt-na-php-header.html).
Вполне может оказаться, что Ваш браузер настолько быстр, что Вы и не заметите как произойдет перенаправление.
Попробуйте! ;)
В каких случаях применяется редирект?
Сайт должен быть доступен с разных доменов
Это необходимо, в частности, если сайт первоначально находился на каком-либо бесплатном хостинге, а потом вырос в большой проект. И встала необходимость переехать на новый домен. В этом случае сайт полностью переноситься на новое место, а на старом ставится редирект - чтобы не терять посетителей и ту работу, которая была проведена над раскруткой сайта.
Так же, на данный момент сайт часто доступен по 4 адресам: с www, без www, по протоколу http и https. И чтобы избежать дублирования контента, нужно выбрать "главное зеркало сайта" - 1 из 4-х вариантов, и перенаправить на него все остальные.
То есть, для примера возьмем домен bookjar.ru. У него есть 4 зеркала: http://bookjar.ru/, http://www.bookjar.ru/, https://bookjar.ru/, https://www.bookjar.ru/. Вибираем как главное зеркало адрес без www и с https (https://bookjar.ru/), и перенаправляем на него три остальные (http://bookjar.ru/, http://www.bookjar.ru/, https://www.bookjar.ru/).
Смена движка (CMS) сайта
У каждого движка есть свои сильные и слабые стороны. Но кроме этого, у каждого движка есть свое, уникальное ЧПУ, которое, как правило, сложно повторить, и которое практически невозможно полностью перенести с одной CMS на другую. То есть посетитель, который добавил страницу Вашего сайта в закладки, при смене ЧПУ не сможет увидеть своей странички, ведь на новом движке у нее будет другой адрес.
В этом случае на помощь опять приходит редирект: с помощью него происходит перенаправление посетителей со старой страницы на новую.
Например, сайт с промокодами после глобальных обновлений.
До переезда ссылки на подборки промокодов были вида:
а стали:
Для этого был использован 301 редирект со старых (и уже не существующих URL'ов) на новые.
Попробуйте кликнуть на любую ссылку из первого списка, и браузер вас автоматически перебросит на соответсвующую страницу из второго списка.
И если у посетителя вашего сайта осталась старая страница в закладках, то он не потеряется, и увидит правильную страницу.
Необходимо отслеживать клики по рекламе
Поскольку при клике на рекламном объявлении пользователь покидает Ваш сайт, то в логах доступа к сайту (и, соответственно в статистике Вашего сайта) этот переход никак не фиксируется, - Вы не можете знать, сколько пользователей перешло по рекламе.
Для того, чтобы этот переход все же зафиксировать, используется редирект, который перенаправляет посетителя не напрямую на сайт рекламодателя, а сначала на некую внутреннюю страницу Вашего сайта, а с нее уже - на сайт рекламодателя. Соответственно переход по рекламной ссылке появляется в логах, и Вы можете увидеть и проанализировать его в программе статистики.
Нежелание показывать ссылку до перехода по ней
Это чаще всего используется для сокрытия так называемых "реферальных" ссылок.
Многие сайты, предлагающие товары и услуги, заинтересованы в увеличении потока клиентов. И используют для этого, на ряду с другими видами рекламы и реферальную программу: каждый, кто приведет заинтересованного клиента на ихний сайт получает либо фиксированную оплату, либо определенный процент от покупок.
Чтобы понять, кто именно привел посетителя, - каждому партнеру выдается специальная реферальная ссылка, состоящая из названия сайта и идентификатора партнера. Но дело в том, что многие посетители не желают переходить по таким ссылкам, и вручную "обрезают" в ссылке такую метку. По этому многие и прячут такие ссылки за редиректом.
Как сделать редирект?
Собственно этому вопросу и посвящен этот сайт.
Вкратце: редирект можно сделать на php, .htaccess, с помощью html или javascript.
О сайте
Материалы для сайта были взяты преимущественно из английских официальных источников. В частности из RFC 2616 (Hypertext Transfer Protocol -- HTTP/1.1). Переведены на русский язык и существенно дополнены.
Если у Вас есть предложения по развитию ресурса или какие либо замечания - пожалуйста, сообщите нам об этом в гостевую книгу.