Внешние ссылки через редирект. Как?

Столкнулся с проблемой – как делать внешние ссылки через внутренний редирект? То есть, чтобы она не была прямая. Есть готовые решения? Или может быть плагин? Или WP вообще так не может? Чтобы на главной была ссылка типа: мой_сайт.ру/index.php?p=redir&… и так далее

В index.php добавьте такой код:

<?php 
if ( isset($_GET['redirect']) ) {
  $location = $_GET['redirect'];
  header("Location: $location"); 
  exit;
  }
?>

Соответствено этот редирект будет, если в параметрах адреса указать

http://site/?redirect=http://maxsite.org/

Учтите только, что ссылку редиректа нужно формировать по всем правилам (без пробелов, русских символов и т.д.). Также не мешало бы проверять полученный адрес, на корректность.

Пробовал этот способ год назад – не получилось. Изобретал другие способы. Тоже неудачно. Сейчас снова озадачился этим вопросом. Как должен выглядеть точно гиперлинк?

ТАК: http://мой_сайт.ру/?redirect=http://сайт_перехода.ру/

можно сделать отдельный скрипт, например go.php, и ссылку заменять как вариант на "go.php?ссылка"

А можно подробнее, что в этом go.php писать нужно?
Я не программер, к сожалению.

А можно подробнее, что в этом go.php писать нужно?
Я не программер, к сожалению.

Хотя бы код приведенный выше. Только в этом случае ссылка будет "/go.php?redirect=ссылка". Просто мне кажется более удобным держать редирект отдельным файлом, а не в index.php.

Нашла этот топик и воспользовалась. Спасибо; работает.

Теперь у меня такой вопрос: будет ли передаваться вес на сайт, на котором стоит редирект (т.е., go.php), если вызывать его с другого сайта? Может, в go.php сделать тэги обычной странички и дать ссылку на морду? И не накажут ли за это ПС?

/*
Plugin Name: Click Counter
Plugin URI: http://planetozh.com/blog/2004/09/click-counter-plugin-for-wordpress/
Description: Adds a click counter to links in your posts (<a href="../wp-content/plugins/wp_ozh_clickcounter.php">quick readme & manual</a>)
Version: 1.02
Author: Ozh
Author URI: http://planetOzh.com
*/

А можно подробнее, что в этом go.php писать нужно?
Я не программер, к сожалению.

Нижеприведенный код сохрани в виде файла go.php

<meta http-equiv="content-type" content="text/html; charset=UTF-8">
 Перенаправление
<?php
$url = isset($_REQUEST['url']) ? $_REQUEST['url'] : '';
if(preg_match('#(http?|ftp)://\S+[^\s.,>)\];\'\"!?]#i',$url)){
    sleep(2);
    //header("Location: $url");
    echo "<html><head><meta http-equiv=\"refresh\" content=\"0;url=$url\"></head></html>";
    exit();
}
?>

Параметр sleep(2) означает задержку в 2 секунды
Внешние ссылки прописывать в виде: http://мой_сайт/go.php?url=http://куда_направляемся

Еще плагины по теме:
http://mywordpress.ru/plugins/wp-noexternallinks/
http://mywordpress.ru/plugins/rc-link-redirector/
http://mywordpress.ru/plugins/js_links/
http://mywordpress.ru/plugins/wp-noref/

почему при редиректе не работает target=_blank ???

Anonymous
Отправить
Ответ на: