Как настроить смартфоны и ПК. Информационный портал

PHP редирект внешних ссылок. Редирект с задержкой и таймером обратного отсчета

Это особый вид редиректа. Так как он располагается в заголовке html-документа, то страница, на которой он расположен, с одной стороны является полноценной страницей - на най может присутствовать текст, картинки и т.д. А с другой - это редирект, который срабатывает через несколько секунд (или сразу же, если указать задержку в 0 секунд).

Синтаксис:

Первый параметр seconds - это количество секунд (после полной загрузки страницы), по истечении которых произойдет редирект на второй параметр URL-to-redirect .

Как использовать?

Данный редирект должен располагаться в секции html-документа, таким образом:

Текст страницы

Примеры:

Делаем некую промежуточную страницу для формирования счета и уточнения деталей заказа. В этом примере, после полной загрузки страницы, клиент увидит текст, идущий после , а по прошествии 5 секунд автоматически будет перенаправлен на https://merchant.webmoney.ru/ :

Ув. Иванов Иван Иванович!

Сейчас Вы перейдете на мерчант WebMoney для оплаты выбранного лота. Если этого не произошло автоматически, пожалуйста, нажмите перейти.

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

Но учтите, что указывать задержку в 0 сек. не рекомендуется по крайней мере по двум причинам:
  • в случае, если пользователь захочет вернуться на предыдущую страницу, и нажмет соответствующую кнопку в браузере, ему это не удастся: он попадет на страницу с редиректом, и браузер опять перенаправит его вперед.
  • поскольку это полноценная страница, и на ней может присутствовать текст, то поисковики могут увидеть в этом редиректе способ обмануть их: ведь рядовой пользователь этого текста не увидит (он будет немедленно перенаправлен на URL-to-redirect ), в то время как для поисковиков текст доступен.
  • Но в то же время не забывайте, что возможность указать нулевую задержку все же есть.

    Как увеличить зарааботок в партнерской программе

    КАК УВЕЛИЧИТЬ ЗАРАБОТОК В ПАРТНЁРСКОЙ ПРОГРАММЕ

    Любой участник партнерской программы хотел бы увеличить свой заработок, но не все знают как это сделать.

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

    Лучший и самый простой способ увеличить Ваш Заработок на партнёрских программах - это предотвратить обрезание "хвостов" на Вашей партнёрской ссылке. (Для тех кто не в курсе, "хвост" - это окончание партнёрской ссылки. Например: партнёрская ссылка: http://www.google.ru/?id=4877, "хвост" этой ссылки - ?id=4877).

    Так вот менталитет рунета таков, что народ просто обрезает "хвосты" партнёрских ссылок и регистрируется в партнёрках по прямым ссылкам сайта.Тем самым в разы снижая заработок партнёров. Чем это вызвано? Для западного человека будет великой загадкой, там о таких "обрезаниях" слыхом не слыхивали. Нам же русским людям всё ясно, как Божий день - дело в таком маленьком зверьке - как Жаба. Всё очень просто, нашего человека душит жаба, что кто-то зарабатывает на нём деньги и если у него появится такая возможность, не дать этому кому-то заработать денег, он обязательно ей воспользуется.

    Поэтому, в обязательном порядке, необходимо защищать свои партнёрские ссылки от подобных посягательств на "хвосты". Как это делается? Очень просто. Рассказываю.

    Вам необходимо завести на своём сайте, для каждой партнёрской ссылки, страничку редиректа. Что такое редирект?

    Это такой скрипт, который изменяет Вашу партнёрскую ссылку до неузнаваемости.

    Теперь о том, как всё это делается на практике. Допустим Ваша партнёрская ссылка: "http://www.google.ru/?id=4877".

    Заводим на сайте страничку редиректа, обзовем её, допустим: "google.htm". На этой страничке будет находиться всего один скрипт и больше ничего. Вот он:







    document.location="http://www.google.ru/?id=4877 ";


    Теперь Ваша партнерская ссылка будет иметь вид: http//www.Ваш домен/google.htm . В моём случае она имела бы вид: http//www..htm. Как видете "хвосты" тут не обрежешь. Даже если посетитель посчитает "google.htm" за "хвост" и обрежет его, то естественно, он ни куда, кроме как на Ваш сайт, не попадёт.

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

    Типы редиректов

    Есть несколько типов редиректов, рассмотрите каждый из них в кратце, чтобы определить какой из них вам больше подходит.

    Редирект через htaccess - самый популярный, и довольно простой способ. Чтобы его сделать, вам понадобится создать в папке сайта файл с названием.htaccess (обратите внимание, что название файла начинается с точки, это не опечатка). Если вы используете CMS WordPress или Joomla, то скорее всего этот файл у вас уже есть, в этом случае вам нужно будет просто отредактировать его.
    Читайте ниже чтобы узнать какие именно инструкции в нем нужно прописать, чтобы создать перенаправление.

    Редирект при помощи PHP - подойдет в том случае, если вы разбираетесь в PHP и знаете структуру своего сайта. Этот вариант подойдет вам, если ваш сайт написан не на CMS. В ином случае лучше используйте редирект через htaccess.

    Редирект HTML - если у вас простой HTML сайт и вам нужно сделать перенаправление для одной страницы - это самый простой вариант. Сделать перенаправление для всего сайта этим способом будет трудозатратно, особенно если у вас на сайте больше 10 страниц.

    Редирект при помощи JavaScript - этот способ подойдет также в том случае, если у вас простой сайт, либо если нужно сделать редирект для одной - двух страниц, либо для всего сайта в целом.

    Редирект при помощи.htaccess файла

    Инструкции, которые вы увидите ниже, нужно прописать в файл.htaccess в самое начало.

  • Редирект всего сайта (всех страниц) на другой сайт

    Redirect / http://new-site.ru/

    В этом примере, перенаправление будет происходить на сайт new-site.ru

  • Редирект одной страницы на другую

    Redirect /page-1.html /page-2.html

    В этом примере, перенаправление будет происходить со страницы page-1.html на страницу page-2.html. Обе страницы должны располагаться на одном домене.
    Этот вариант подходит для замены старых страниц сайта на новые.

  • 310 редирект с www на без www

    RewriteEngine on
    RewriteCond %{HTTP_HOST} ^www.example\.ru
    RewriteRule ^(.*)$ http://example.ru/$1

    В этом примере, посетители будут перенаправляться с http://www.example.ru на http://example.ru.

  • 310 редирект с одной страницы на другую

    Redirect 301 /blog/page-1.html http://example.com/page-2.htm

    В этом примере, посетители будут перенаправляться со страницы blog/page-1.html на example.com/page-2.htm .

  • Редирект ошибки 404

    ErrorDocument 404 /index.html

    Пропишите эту строку в.htaccess файле, и тогда все посетители, которым встретится ошибка 404, будут перенаправлены на index.html .

  • Редирект с HTTP на HTTPS

    RewriteEngine On
    RewriteCond %{HTTPS} off
    RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

    Пропишите эту строку в.htaccess файле, и тогда все посетители вошедшие на сайт по протоколу HTTP будут перенаправляться на защищенный протокол HTTPS.

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

    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://www.domain.com/$1

  • PHP редирект

    В PHP редирект делается так: сервер отправляет заголовки headers браузеру посетителя, и тот переходит по нужному адресу автоматически.
    Стоит отметить важный момент, отправлять заголовки можно только до вывода другой информации. То есть они должны отправляться до вывода любой другой информации через echo и до отправки кук.

  • Редирект на другой сайт

    В этом примере, перенаправление будет происходить на сайт http://example.com

  • Здесь перенаправление будет происходить на http://example.com/page.html

  • Редирект определенной страницы на страницу другого сайта

    Здесь если посетитель сайта зайдет на страницу blog/post-1.html то он будет перенаправлен на http://example.com/page.html

  • HTML редирект

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

  • Редирект на другой сайт

    В этом примере, перенаправление будет происходить на сайт https://сайт с задержкой в 5 секунд. Если установить значение задержки вместо 5 в 0, то посетитель будет перенаправляться на другой сайт моментально.

  • Редирект на страницу другого сайта
  • Редирект - это автоматическое перенаправление пользователя с одного адреса на другой. То есть человек заходит на один сайт, а оказывается совсем на другом (либо на другой странице одного сайта). Я, думаю, что такое Вы видели достаточно часто. Иногда редирект делают с задержкой . В общем, тема очень важная, и её я рассмотрю в этой статье.

    Вообще говоря, речь пойдёт сейчас об объекте Location , который является свойством объекта Document . У объекта Location есть свойство href , с помощью которого и реализуется редирект на JavaScript . Данное свойство доступно и для чтения, и для записи. Для начала давайте его прочитаем:

    Document.write(document.location.href);

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

    Теперь сделаем простейший редирект на JavaScript :

    Document.location.href = "http://сайт";

    Таким образом, все пользователи, которые запустят этот скрипт будут автоматически переходить на сайт: "http://сайт ".

    Теперь давайте сделаем классическую задачу, которые реализуют очень часто. Допустим, у Вас был сайт: http://a.ru . Затем Вы купили новый домен для Вашего сайта и его адрес стал: http://b.ru . И хотите, чтобы все посетители переходили с http://a.ru на новый http://b.ru . Причём, Вы хотите, чтобы они знали, что у Вашего сайта новый адрес. Знакома ситуация? Так вот, реализуется это с помощью редиректа с задержкой:


    var delay = 5000;
    setTimeout("document.location.href="http://b.ru"", delay);

    У нашего сайта новый адрес: http://b.ru. Через 5 секунд Вы будете перенаправлены на него. Если этого не происходит, то перейдите самостоятельно: http://b.ru

    Сначала пользователь увидит сообщение, а через 5 секунд он уже перейдёт по новому адресу. Если вдруг у пользователя отключён JavaScript , то тогда он может перейти самостоятельно, просто щёлкнув по ссылке.

    Хотите перенаправить 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 .

    Лучшие статьи по теме