Сделать редирект с одной страницы на другую. Что такое редирект и как его сделать

Хотите перенаправить URL-адрес из одного места в другое? В этом простом руководстве мы покажем, как можно это сделать с помощью Apache / .htaccess , PHP , JavaScript , HTML и т. д. Каждый метод редиректа HTML мы кратко поясним и продемонстрируем готовые к использованию примеры.

Редирект URL-адресов с помощью PHP

Редирект с помощью PHP выполняется с помощью функции header() , например:

Эта функция должна быть вызвана в начале веб-страницы до вывода HTML-кода . Чтобы узнать больше о настройке этого метода, ознакомьтесь с документацией PHP .

Чтобы выполнить редирект с помощью PHP через определенное время:

Редирект на example.com выполняется через 5 секунд. Вы можете изменить это значение на необходимое.

Редирект URL-адресов с помощью JavaScript

Вот самый простой способ index html редиректа с помощью JavaScript :

document.location.href = "http://example.com/";

Редирект URL-адресов с помощью HTML

Можно перенаправить пользователя на новый URL-адрес , используя старый добрый HTML . Вот пример:

Это называется meta-refresh редирект. Можно задать время (в секундах ), изменив 10 на необходимое число. Обратите внимание, что этим методом редиректа часто злоупотребляют спамеры. Поэтому будьте осторожны, если вы реализуете его на общедоступном сайте.

Редирект URL-адресов с помощью Perl

Вот два способа редиректа URL-адресов с помощью Perl :

#!/usr/bin/perl print "Location: http://example.comnn"; exit;

Редирект URL-адресов с помощью ASP (VB Script)

Чтобы перенаправить URL-адрес с помощью ASP , добавьте следующий код:

Редирект URL-адресов с помощью mod_alias Apache

Самый простой способ перенаправления на серверах Apache :

Redirect 301 /old-location.html http://example.com/new-location/

Перед тем, как сделать редирект HTML , этот код нужно добавить в файл .htaccess или файл конфигурации сервера Apache . Вот синтаксис этого метода:

[Директива] [Код состояния] [Старый URL] [Новый URL]

При необходимости можно изменить любой из этих параметров. Например, если нужно подставлять старый URL-адрес динамически, чтобы перенаправить все следующие URL-адреса :

http://example.com/old-directory/file-01.html http://example.com/old-directory/file-02.html http://example.com/old-directory/file-03.html . . .

Можно использовать RedirectMatch вместо Redirect :

RedirectMatch 301 /old-directory/file-(.*).html http://example.com/new-directory/file-$1.html

Также можно изменить код статуса с 301 (постоянный редирект ) на 302 (временный редирект ). Или на любой другой действительный код состояния. Ниже приведено руководство по регулярным выражениям, используемым в методе RedirectMatch :

  • или отсутствию символа );
  • $1 — возвращает шаблон, сопоставляемый первым (.*) .
Редирект URL-адресов с помощью mod_rewrite Apache

Более функциональный способ редиректа с помощью Apache — использовать его переписывающий модуль mod_rewrite . Вот несколько примеров, которые можно добавить в .htaccess или в файл конфигурации Apache .

Пример 1: Редирект с www на без www

Этот код редиректа HTML перенаправляет все www-версии URL-адресов на их эквивалентные версии без www .

RewriteCond %{HTTP_HOST} ^www.example.com$ RewriteRule (.*) http://example.com/$1

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

  • . — буквально соответствует точке;
  • $ — обозначает конец запрошенного URI ;
  • (.*) — соответствует любому символу (или отсутствию символов );
Пример 2: Редирект всего домена

Чтобы осуществить редирект HTML с текущего домена на новый:

RewriteRule ^/(.*) https://new-domain.tld/$1

Аналогично можно перенаправить запросы из поддомена текущего сайта на поддомен на новом сайте:

RewriteCond %{HTTP_HOST} (.*).old-domain.tld RewriteRule ^/(.*) https://%1.new-domain.tld/$1

Вот несколько примечаний о регулярном выражении, используемом в этом примере:

  • ^ — обозначает начало запрошенного URI ;
  • (.*) — соответствует любому символу (или отсутствию символов );
  • $1 — соответствует шаблону из круглых скобок (.*) в RewriteRule ;
  • %1 — соответствует первому шаблону из круглых скобок (.*) в RewriteCond
  • — отправляет код состояния 301 и инструктирует Apache прекратить обработку набора правил.

Обратите внимание : чтобы любой из этих методов работал корректно, оба домена должны иметь одинаковую структуру файлов. Папки и ресурсы на текущем домене также должны существовать и на новом домене. В противном случае вы получите на новом домене кучу ошибок 404 .

Пример 3: Перенаправление всех файлов HTML и PHP

Вот еще один, более сложный пример скрипта редиректа HTML mod_rewrite :

RewriteCond %{REQUEST_URI} ^/old-directory/(.*).(html|php)$ RewriteRule (.*) http://example.com/new-directory/%1.%2

Мы перенаправляем все запросы к любым файлам HTML или PHP , расположенным в папке /old-directory/ . Все соответствующие запросы перенаправляются в тот же файл, который находится в /new-directory/ . Вот несколько примечаний о регулярном выражении, используемом в этом примере:

  • ^ — обозначает начало запрошенного URI;
  • (.*) — соответствует любому символу (или отсутствию символов );
  • . — буквально соответствует точке;
  • (html php) — соответствует либо html , либо php ;
  • — делает шаблон нечувствительным к регистру;
  • %1 — соответствует первому шаблону из круглых скобок (. *) в RewriteCond ;
  • %2 — соответствует второму шаблону из круглых скобок (html|php ) в RewriteCond ;
  • — отправляет код состояния 301 и инструктирует Apache прекратить обработку набора правил.
Редирект ошибки 404 с помощью Apache

Вот удобный код редиректа html HTML всех ошибок 404 «Not Found» на определенный URL .

Инструкция

Есть возможность отправлять на другой сайт только тех посетителей, которые запрашивают определенного типа. Для этого нужно воспользоваться другой директивой - RedirectMatch. Она отличается от директивы Redirect тем, что использует для сравнения запроса и записанного в htaccess условия регулярное выражение (regexp). Например:RedirectMatch (.*).html$

Чтобы реализовать этот метод перенаправления на практике, откройте простой текстовый редактор (Блокнот) и создайте в нем пустой документ. Составьте нужное условие на основе приведенных правил и запишите его в этот документ. Затем сохраните с именем ".htaccess" и загрузите в корневую директорию своего сайта . На этом процедура будет закончена.

Источники:

  • Redirect 301: Как сделать редирект с одной страницы на другую
  • Редирект 301 с со страницы на страницу не затрагивая другие

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

Инструкция

Можно решить задачу автоматического перенаправления посетителей на другой сайт только средствами HTML (HyperText Markup language - «язык разметки гипертекста»). В нем есть (метатег), которая сообщает браузеру, что после загрузки текущей страницы следует начать загрузку другой. Этот метатег информацию (атрибуты тега) об адресе перенаправления и времени, через которое следует отправлять на страницу сайт а. Выглядеть он может, например, так:Здесь Refresh - это и есть кодовое слово, которое запускает механизм перенаправления. Цифра 5 указывает, что процесс надо начинать через после загрузки этой страницы. Это время может быть нужно, чтобы посетитель, например, успел сообщение, которое вы поместите в эту страницу. Если такая пауза не нужна - поставьте ноль. А URL=http://www.сайт содержит адрес, на который браузер должен отправить посетителя. Помещать этот метатег следует в заголовочную часть исходного кода страницы - между и .

Другой способ реализуется с помощью языка программирования JavaScript. Вам потребуется всего одна строка кода, чтобы веб-серфера на нужный адрес. Она может выглядеть, например, так:window.location.reload("http://www..location.replace("http://www..location.href="/";Здесь вам нужно только заменить адрес тем, который вам. Эту команду следует поместить внутрь тегов, которые сообщают браузеру, что она написана на языке JavaScript:
document.location.replace("http://www.сайт");
А эти три строки, в свою очередь, размесить внутри той же заголовочной области (между и ).

После того, как вы выберите один из этих вариантов, откройте нужную страницу, например, в редакторе страниц системы управления сайт ом. Переключитесь в режим редактирования HTML-кода и найдите в нем тег . Скопируйте подготовленный код редиректа (JavaScript или HTML) и вставьте его перед этим тегом. Затем сохраните измененную страницу.

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

Кроме трудностей с обслуживанием ссылок, большое количество ссылок на внешние ресурсы может повлиять и на отношение поисковых систем к вашему проекту. Закрытие ссылок в тег частично решает проблему с поисковыми системами, но не упрощает обслуживание сотен ссылок с вашего сайта.

Решение проблем

Основное решение проблемы – использовать систему управления ссылками, где оформлять ссылки через редирект.

При наличии инструмента для создания и управления ссылками вы сможете заменять целевую страницу в несколько кликов. В итоге, ссылка в вашей статье остается прежнего формата – yourdomain.ru/link1 , а человек попадает уже не на aviasales.ru , а, например, на top100.aviasales.ru .

Существует несколько способов управления партнёрскими ссылками. Ниже мы собрали все основные, и подробно рассмотрели вопрос, как переадресовать ссылку на WordPress сайте.

Что такое редирект ссылок

Редирект – это метод перенаправления пользователя на другую страницу в сети. Например, кликая на ссылку формата: yourdomain.ru/link1 , человек в итоге попадает на партнёрскую страницу, например, на aviasales.ru .

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

Алгоритм работы редиректа крайне прост:

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

Эта процедура происходит автоматически и моментально.

301, 302, 307 редиректы

Существует 10 HTTP кодов для редиректов, но востребованы только три из них: 301, 302 и 307. Рассмотрим их главные особенности.

  • 301 – постоянный редирект, указывающий на то, что перенос осуществляется навсегда. Обычно под понятием «редирект» всего сайта (при переезде на новый домен) подразумевается этот код.
  • 302 – временный редирект, указывает на то, что перенос осуществлен временно. Этот вариант идеально подходит для организации редиректа партнёрских ссылок.
  • 307 – временный редирект. Применение кода не разрешает менять метод запроса (GET/POST). На практике в работе с партнёрскими ссылками 307 и 302 коды аналогичны.
Как сделать редирект ссылок

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

Сокращалки ссылок

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

  • https://goo.gl/ (работает до 30 марта 2019 года)

Все примеры выше – это простые сервисы для сокращения ссылок. Такой редирект не даёт вам свободы действий, но позволяет упаковать все ссылки в единый формат, а также узнать больше статистики.

HTML, JS и PHP скрипты

Редирект при помощи скриптов PHP создаеёт дополнительную нагрузку на сервер, но предпочтителен, когда речь идет о большом количестве страниц. Этот вид перенаправления работает на уровне сервера.

Редирект с использованием JavaScript работает на уровне браузера. Поскольку для срабатывания необходима полная загрузка в браузере, этот метод может быть медленнее PHP редиректа. Этот тип иногда используют для перенаправлений с задержкой. JS редирект не сработает, если в браузере у пользователя отключена функция JavaScript.

Перенаправление с помощью HTML кода аналогично JS и работает на уровне браузера, поэтому выполняется медленнее редиректов на уровне сервера.

WordPress плагины

Если ресурс работает на движке WordPress, рациональнее использовать сторонние плагины. С их помощью вы сможете не только сократить ссылку, но и сделать ссылку на собственном домене, управлять редиректами и собирать статистку.

Ниже мы рассмотрим подробнее каждый из методов редиректа и приведем актуальные примеры.

Популярные сервисы сокращения ссылок
  • Goo.gl
  • При необходимости изменить целевую страницу, выбирайте интересующую вас ссылку и указывайте в открывшемся окне новый «Target URL». После этого прежняя ссылка будет вести на новую страницу, и вам не придется заменять ссылку на всём сайте.

    На странице «Click» по адресу: https://yourdomain.ru/wp-admin/admin.php?page=pretty-link-clicks доступно больше информации о совершенных кликах.

    Расширенные возможности

    Всё, описанное выше – это возможности бесплатной версии. Существует платная версия плагина, которая называется Pretty Link Pro. В платной версии плагина доступно:

    • Авто-замена ссылок на сайте;
    • Автоматическая расстановка ссылок на заданные слова;
    • Редирект на основе страны, где находится пользователь;
    • Проведение A/B тестов;
    • И некоторые другие функции.

    Стоимость платной лицензии на один сайт – 57 долларов в год. С купоном 10OFF цена снижается на 10%.

    – это альтернатива Shortlinks by Pretty Links. Плагин ориентирован на работу с партнёрской программой Amazon, но его можно использовать и для любых других ссылок. На сегодня более 10 000 человек используют Easy Affiliate Links для сокращения ссылок.

    Главные особенности плагина:

    • Простой интерфейс;
    • Распределение ссылок по категориям;
    • Импорт и экспорт ссылок в.XML.

    Также авторы предлагают палатные дополнения. Уже реализовано дополнение подробной статистики, в разработке находятся дополнения о специфике месторасположения кликов, A/B тестирование и отслеживание «сломанных» ссылок.

    – это плагин для редиректа на WordPress, который имеет полноценный функционал сокращения ссылок, но преимущественно используется как дополнение для плагина Jetpack , улучшая его возможности. Отслеживание статистики доступно через бесплатный плагин Google Analitycs by Yoast.

    Разработчики отмечают, что Shortlinks for Jetpack все еще находится на этапе разработки, иногда могут возникать ошибки. Обычно они исправляются в кратчайшие сроки. Поскольку это проект с открытым исходным кодом, то проблемы обычно отправляются в GitHub.

    – качественный плагин, позиционирующий себя как удобный помощник для блогеров, которые . О популярности и качестве разработки говорит 20 тысяч активных загрузок и хороший рейтинг оценок. В своих отзывах пользователи отмечают сдедующие факты:

    • Простота использования с помощью визуального редактора;
    • Улучшенный опыт управления ссылками;
    • Безопасный редирект через 301, 302, 307 коды;
    • Добавление изображений к партнерским ссылкам;
    • Наличие статистики и отчетов.

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

    Редирект ссылок через PHP скрипт и Javascript

    Как мы уже отметили, PHP редиректы работают быстрее JS, поэтому более популярны среди вебмастеров. Для реализации простого перенаправления необходимо добавить в файл index.php следующий код:

    $links = parse_ini_file("shortlinks.ini"); if(isset($_GET["l"]) && array_key_exists($_GET["l"], $links)){ header("Location: " . $links[$_GET["l"]]); } else{ header("HTTP/1.0 404 Not Found"); echo "Unknown link."; }

    Никакой панели управления в данном случае нет, все новые ссылки вносятся вручную в файл shortlinks.ini, который создаётся вручную. Внутри этого файла пишем, например:

    Aviasales = https://www.aviasales.ru/?marker=XXXXXX.short

    Пример демонстрирует обычный редирект ссылки на WordPress при помощи PHP скрипта. Подробнее о том, как работает данный PHP скрипт читайте по этой ссылке .

    Редирект через JavaScript задаётся кодом, размещаемым между тегами и на нужной странице. Для реализации этой задачи доступен плагин Per page add to head . Пример простого кода для редиректа на Javascript представлен ниже:

    window.location.href = "https://www.aviasales.ru/?marker=XXXXXX.short";

    Учтите, что в WordPress при едином дизайне без сторонних плагинов встроить самостоятельный Javascript код между тегами и невозможно. Поэтому вам либо придётся создавать отдельный шаблон для каждой страницы, либо использовать дополнительный плагин для интеграции кода.

    Лучшее решение для WordPress сайтов

    Создать ссылку с редиректом – это лишь половина задачи. В будущем ссылку нужно ещё и обслуживать – следить за статистикой и менять целевые страницы. Готовые решения – выглядят лучше, чем простые PHP/JS скрипты, так как позволяют сделать больше с меньшими трудностями.

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

    Например, если вы уже 4 года ведёте туристический блог и только сегодня узнали, что существуют специальные плагины для ссылок. В этом случае вам предстоит решить задачу – заменить сотни, а некоторым вебмастерам и тысячи, уже размещенных ссылок.

    Универсальным решением является плагин Pretty Link в расширенной версии . Помимо редиректа, он позволяет в автоматическом режиме:

    • Заменить существующие ссылки на ссылки нового формата;
    • Расставить ссылки на словах, где ещё не было ссылок.

    В этом плагине всё хорошо, кроме факта, что он платный. Из этой ситуации можно филигранно выйти, используя два плагина – бесплатную версию Pretty Link и бесплатный плагин для замены старых ссылок на сайте.

    Как массово заменить старые ссылки на сайте

    ВАЖНО: перед любыми действиями по массовой замене ссылок – всегда – создавайте резервную копию базы данных вашего сайта!

    Плагин Better Search Replace поможет вам с автоматической заменой старых ссылок на новые, а также с расстановкой ссылок на слова. Сегодня плагин имеет свыше 500 тысяч активных установок. Среди основных возможностей:

    • Массовая замена старых ссылок;
    • Выбор отдельных таблиц для работы;
    • «Холостой» запуск для просмотра полей, которые будут обновлены.

    С помощью плагина вы сможете обновить старые ссылки, или же разместить новые на нужных словах. Например, вы можете задать поиск по слову «авиабилеты » и в поле для замены указать:

    авиабилеты

    У этого способа есть альтернативы. Вы можете использовать как аналогичные плагины, так и внести изменения в MySQL базу данных вашего WordPress сайта через панель управления хостингом. Ещё одна альтернатива – использовать PHP скрипт «Replace DB version 3.1.0», доступный по этой ссылке . Он работает не только с сайтами на WordPress, но и с другими популярными CMS.

    При подготовке материала мы протестировали несколько популярных решений, среди которых был и плагин URL Shortener by MyThemeShop . Многообещающее описание плагина гласит, что вы бесплатно получите в одном флаконе инструмент для редиректа, управления и для массовой замены ссылок. Это решение могло стать отличной альтернативой платной версии Pretty Link Pro, но на деле плагин, к сожалению, не работает.

    Нужно ли делать редирект партнёрских ссылок

    Редирект ссылок стоит делать для удобного обслуживания собственного проекта. И чем более удобный инструмент вы выберите для обслуживания ссылок, тем эффективней будет ваша работа. Системы управления ссылками дают больше возможностей, чем ручное размещение. Например, вы в пару кликов можете провести A/B тест или , заменив целевую страницу.

    Почти всё, что делают плагины и скрипты, можно сделать и вручную. Вопрос лишь в удобстве работы и ваших возможностях.

    Используя редирект, помните, что ссылка, направление которой пользователь не понимает, может вызывать негатив. Поэтому делайте понятные и красивые сокращения, а также, подводя пользователя к клику, сообщайте ему подробности, куда он попадёт.

    Делитесь в комментариях вопросами, собственным опытом редиректа и обслуживания партнёрских ссылок на сайте.

    Редирект – это автоматическое перенаправление пользователей с одного сайта на другой. Я думаю вы с этим часто сталкивались, но если нет то, выглядит это следующим образом – пользователь набирает в адресной строке браузера один адрес, а оказываетесь на совершенно другом сайте. Помимо самого процесса, редиректом называется скрипт, выполняя который, браузер перенаправляет пользователя на другой сайт.

    Давайте рассмотрим по ближе как сделать редирект на другой сайт .

    Как сделать редирект на другой сайт? Первый способ сделать редирект на другой сайт (подойдет для новичков)

    Регистрируемся на одном из сайтов 2domains.ru или reg.ru , покупаем домен по чему именно у них? Потому что в зоне.ru или.рф стоит всего 99 рублей в год! Далее надо подождать несколько часов пока ваш домен зарегистрируется. Потом заходим в панель “Мои домены”, и нажимаем на купленный нами домен и делаем что на скрине.

    reg.ru – вариант 1 (при выборе домена)

    reg.ru – вариант 2(после того как вы зашли в купленный домен)

    Нажимаем Заказать услугу «Переадресация домена / Web-forwarding» (она стоит 120 рублей в год)

    В меню справа переходим в раздел Web-forwarding и там снова нажимаем на наш домен и на настройку перееадресации

    И отсюда видим что с домена будет переадресовывать на на страницу вконтакте

    Второй способ сделать редирект на другой сайт

    Это HTML редирект, код вставляется в страницу сайта, которую нужно перенаправить.

    Ну вот и все. Надеюсь статья вам пригодиться.

    В материале ниже я опишу шесть способов как сделать редирект страницы.

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

    Данный материал не представляет собой исчерпывающий набор редиректов — это всего лишь несколько наиболее популярных видов и способов редиректа.

    Для чего нужен редирект? Основная функция для перенаправление посетителей с одного сайта на другой (с одной страницы на другую).

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

    Суть работы редиректа следующая — пользователь набирает один адрес сайта, нажимает ENTER, и попадает на совершенно другой сайт.

    Давайте рассмотрим следующие виды редиректа:

  • header-редирект средствами PHP — 301, 302-й редирект (разница между ними).
  • Редирект средствами .htaccess (и модуля mod_rewrite, который используется при этом).
  • Простейший JavaScript — редирект с помощью doсument.location
  • META-REFRESH — редирект с помощью meta-тэгов
  • JavaScript-редирект с задержкой через setTimeout (например для учёта Метрикой).
  • Iframe/Frameset — «псевдо» редирект через фреймы (например для прохождения модерации в Яндекс.Директе).
  • Редирект — перенаправление

    Как сделать редирект страницы. Способ 1 — PHP-редирект.

    Этот редирект срабатывает без загрузки странички.
    Страничка на которую идёт редирект — получает оригинальный REFERER (т.е. таким образом не скрыть откуда был редирект).

    Данный редирект например можно использовать для Ютуба. Ютуб как известно можно связать только с одним сайтом, соответственно на чужой сайт вы не сможете сделать ссылку. Для обхода этого ограничения создаете отдельный подкаталог на своем домене, в него кладете index.phd с прописанным кодом редиректа.

    Редирект нужно оформлять в файл.php и ОБЯЗАТЕЛЬНО до вывода любых символов. То есть если будет лишний пробел или символ, который выводится на экран (например до знака