Перейти к содержимому

Сервис обмена электронных валют

Партнерская программа Kredov

Переадресация внешних ссылок

#1 BLIK

BLIK
  • Супермодератор
  • 3 189 сообщений
  • Репутация: 634
0

Отправлено 20 Март 2014 - 17:04

Здравствуйте Уважаемые форумчане. Возникли трудности в реализации переадресации.

Задумка такая, нужно сделать на сайте скрытия внешних ссылок с помощью go.php?to=

То есть итог ссылки на выходе получаем такой как на данном форуме

http://наш-сайт.ру/go.php?to=http://внешний сайт/

С этим вроде проблем нет( может кому пригодится решение реализации)

1)  Создаем файл с расширением  go.php

2)  Прописываем в этот файл код

<?php
$to_link = $_GET["to"];
$URL = substr_replace($URL, $to_link, 0);
header ("Location: $URL");
?>

3)      Закидываем файл go.php в корень сайта(не забываем закрыть от индексации файл go.php в robots.txt )

 

Но суть вопроса вот в чем. Как сделать переадресацию так, чтоб при переходе по внешней ссылке

http://наш сайт.ру/go.php?to=http://внешний сайт/

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

 

В итоге ссылка выглядить  должна так

http://наш сайт.ру/название папки например goto/go.php?to=http://внешний сайт/

Получается, через папку goto и проходит редирект через другой домен, но конечная ссылка не меняется.

Как реализовать такую переадресацию? Имея один рабочий сайт + второй домен), но ссылки бы редиректил сначала через подставной домен. Именно настроить в папки goto которую создадим. Что прописывать , подскажите в какую сторону копать…

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

P.s   Думаю, я понятно расписал…Если кто знает подскажите. Забыл добавить все это реализуется на движке WP


 

 

Сообщение отредактировал Sosnovskij: 20 Март 2014 - 17:51

  • 0


#2 Ixman

Ixman
  • Пользователь PRO
  • 2 159 сообщений
  • Репутация: 432

Отправлено 20 Март 2014 - 21:46

Собственно на втором домене либо создаём папку goto с файлом go.php, либо эту папку создаём средствами Mod Rewrite и файл go.php с тем же содержимым, который GET запросом будет отлавливать URL из параметра to. Что касается задержки при редиректе и выводе информации, то реализуется это следующим образом.

<?php
header('Refresh: 10; URL=' . $url . '');
echo '«переадресация на официальный сайт»';
exit;
?>

10 это время в секундах, после которого произойдёт редирект.
 
Не совсем всё понял в вопросе, если что-то ещё нужно то могу помочь )
 

и одновременно ссылка для поисковиков была не индексируемая.

 
Не совсем понял про не индексируемую ссылку. Её опять на втором домене нужно закрыть через robots.txt, либо в файле go.php вывести html шапку и в ней мета тег robots='noindex,nofollow'

Хотя при редиректе с задержкой наверное обязательно нужно указать в файле go.php заголовок title, так что шапка там просто необходима

Только зачем в файле go.php использовать эту функцию substr_replace(); она там абсолютно не нужна
 
Я бы его в самом простом виде сделал так

<?php
$url = $_GET["to"];
if (filter_var($url, FILTER_VALIDATE_URL)) {
header ("Location: $url");
} else {
header ("Location: /404.php");
}
exit;
?>

То есть если $url у нас не существует, то редиректил бы на страницу 404 ошибки, хотя тут можно ещё всяких проверок для корректности URL добавить.

 

Немного подправил код, думаю так уместней


Сообщение отредактировал Ixman: 20 Март 2014 - 22:00

  • 2


Оформление форума – IPBSkins.ru