Компьютерные подсказки - Znamenka24

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

Привет! Сегодня сижу, занимаюсь подготовкой рекламной компании под спам и думаю, дай запишу часть процесса. Вообщем тема заезженная, кому нужно знают, а я попытаюсь раскрыть для чего нужен редирект, почему используем блоги Blogger ну и собственно сами скрипты и сервисы про которые я рассказываю на видео. Приступим!

Чтобы наши рабочие аккаунты и доменное имя сайта не улетели в бан Вконтакте, используем уникальный текст с помощю РАНДОМИЗАТОРА , создаем блоги на Blogger и настраиваем редирект. После чего сокращаем ссылки через сокращатели и с каждого блога получаем по 6 ссылок. Обычно, под спам, делаю до 60 разных ссылок – так надежнее.

Сервисы сокращения ссылок Скрипты для редиректа с Blogger и других сайтов

Чтоб сделать редирект со своего Blogger-блога на другой сайт надо вставить код после тега (он находится почти в самом верху кода).

Первый вариант: редиректит сразу. Им то и пользуемся:


window.location=”https://сайт “;

☝️ Незабываем поменять название сайта на свое!

Второй вариант: редирект с задержкой, делаем через HTML, точно так же сразу после :

После слов “meta content” можно изменить число с нуля на какое-нибудь другое. Это число – задержка (в секундах) перед перенаправлением.

Третий вариант: с подтверждением. Пользователь будет должен подтвердить что согласен с перенаправлением.

<script>
if(confirm(“Мы переехали на новое место. Подтвердите перенаправление на наш новый сайт.”))
{
location = “https://сайт “;
}
else
{
history.back();
}

В браузере это выглядит так:

На этом собственно и всё! А теперь смотрим ВИДЕО по тому как и для чего нам пригодятся редиректы.

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

Примеры редиректов или же перенаправлений на другую страницу.

Редирект в HTML // Обновить страницу через 5 секунд: // Перенаправить на https://www.google.com через 5 секунд: // Перенаправьте на https://www.google.com немедленно: Редирект в JavaScript

Метод replace() позволяет заменить одну страницу другой таким образом, что это замещение не будет отражено в истории просмотра HTML-страниц (history) браузера

Location.replace("https://www.google.com"); document.location.replace("https://www.google.com");

Метод reload() полностью моделирует поведение браузера при нажатии на кнопку reload в панели инструментов. Если вызывать метод без аргумента или указать его равным true , то браузер проверит время последней модификации документа и загрузит его либо из кеша (если документ не был модифицирован), либо с сервера. Такое поведение соответствует нажатию на кнопку reload . Если в качестве аргумента указать false , то браузер перезагрузит текущий документ с сервера. Такое поведение соответствует одновременному нажатию на reload и кнопки клавиатуры shift (reload+shift) .

Window.location.reload("https://www.google.com");

Следующие примеры тоже перенаправят на google:

Location="https://www.google.com"; document.location.href="https://www.google.com";

С помощью функции setTimeout возможно реализовать задержку переадресации перед выполнением редиректа (в примере - 5 секунд):

SetTimeout("location="https://www.google.com";", 5000);

Простой пример редиректа с таймером:

var sec=10; function Sec() { document.getElementById("sec").innerHTML=sec; sec--; if(sec==1) { location.replace("https://www.google.com") } setTimeout("Sec()",1000); } Sec();

Подождите пожалуйста 10 сек или перейдите по этой ссылке: https://www.google.com

Редирект в PHP

В php есть функция header() , которая разрешает не только подменять стандартные заголовки, но и добавлять новые.

Синтаксис:

// string - полностью сформированная строка заголовка, который необходимо добавить (без завершающего перевода строки "\n") // replace указывает, нужно ли заменять заголовки с одинаковыми именами (true), или же добавлять в конец (false) // http_response_code указывает код http-ответа (300, 301, 302 и т.д.) void header (string string [, bool replace = true [, int http_response_code]]);

Примеры использования:

Header("Refresh: 0; url=/error404.html"); // переадресовать на страницу ошибки немедленно (без задержки) header("Refresh: 5; url=https://www.google.com/"); // переадресовать на главную страницу Рамблера через 5 секунд после загрузки страницы. header("Location: /", true, 307); // перебросить на главную страницу сайта с использованием 307 редиректа. header("Location: /article/page.htm", true, 303); // с помощью 303 редиректа переадресовать на внутреннюю страницу сайта. header("Location: http://google.ru/search?q=redirect"); // с помощью 302 редиректа переадресовывать на поиск в гугле слова redirect (При использовании Location без указания кода редиректа, по умолчанию используется 302-й). header("Location: http://yandex.ru/yandsearch?text=redirect", true, 301); // сделать переадресацию с помощью 301 редиректа на поиск в Яндексе слова redirect.

Редирект HTML в PHP:

Понравилась статья? Поделитесь с друзьями!
Была ли эта статья полезной?
Да
Нет
Спасибо, за Ваш отзыв!
Что-то пошло не так и Ваш голос не был учтен.
Спасибо. Ваше сообщение отправлено
Нашли в тексте ошибку?
Выделите её, нажмите Ctrl + Enter и мы всё исправим!