Уважаемые пользователи!
Напоминаем, что с 7 ноября 2020 года phpBB Group прекращает поддержку phpBB версии 3.2.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2020 года.
С учетом этого, а также того, что версия 3.2.x больше не будет получать обновлений, за исключением связанных с проблемами безопасности
(только при их наличии и только до 7 ноября 2020 года), рекомендуется обновить конференции до версии 3.3.x.

Редирект (переадресация, перенаправление) внешних ссылок

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
Аватара пользователя
gcib
phpBB 1.2.1
Сообщения: 24
Стаж: 11 лет 10 месяцев
Откуда: Киев, Украина
Благодарил (а): 1 раз

Re: Редирект внешних ссылок

Сообщение gcib »

МОД на версии 3.0.3 не работает!

Проверял правильность установки - ничего. Кэш чистил - ничего.

Официальная русская локализация, осутствие "левых" МОДов...

Кто может дать работающий МОД?
Alex-od
phpBB 1.0.0
Сообщения: 2
Стаж: 11 лет 10 месяцев

Re: Редирект внешних ссылок

Сообщение Alex-od »

Я поставил на форуме редерикт ссылок так:

Залил в корень сайта файл go.php

Код: Выделить всё

<?
header('Location: '.urldecode($_GET['url']));
?>
в robots.txt прописал:

Код: Выделить всё

User-agent: *
Disallow: /go.php
вместе со стандартными:

Код: Выделить всё

User-agent: *
Disallow: /phpBB2/groupcp.php
Disallow: /phpBB2/login.php
Disallow: /phpBB2/memberlist.php
Disallow: /phpBB2/privmsg.php
Disallow: /phpBB2/profile.php
Disallow: /phpBB2/search.php
Disallow: /phpBB2/viewonline.php
Disallow: /phpBB2/faq.php 
Disallow: /phpBB2/posting.php

Далее, внес изменения в bbcode.php

вместо:

Код: Выделить всё

function make_clickable($text)
{
	$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1&#058;", $text);

	// pad it with a space so we can match things at the start of the 1st line.
	$ret = ' ' . $text;

	// matches an "xxxx://yyyy" URL at the start of a line, or after a space.
	// xxxx can only be alpha characters.
	// yyyy is anything up to the first space, newline, comma, double quote or <
	$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"\\2\" target=\"_blank\">\\2</a>", $ret);

	// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
	// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
	// zzzz is optional.. will contain everything up to the first space, newline, 
	// comma, double quote or <.
	$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://\\2\" target=\"_blank\">\\2</a>", $ret);

	// matches an email@domain type address at the start of a line, or after a space.
	// Note: Only the followed chars are valid; alphanums, "-", "_" and or ".".
	$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);

	// Remove our padding..
	$ret = substr($ret, 1);

	return($ret);
}

/**
 * Nathan Codding - Feb 6, 2001
 * Reverses the effects of make_clickable(), for use in editpost.
 * - Does not distinguish between "www.xxxx.yyyy" and "http://aaaa.bbbb" type URLs.
 *
 */
function undo_make_clickable($text)
{
	$text = preg_replace("#<!-- BBCode auto-link start --><a href=\"(.*?)\" target=\"_blank\">.*?</a><!-- BBCode auto-link end -->#i", "\\1", $text);
	$text = preg_replace("#<!-- BBcode auto-mailto start --><a href=\"mailto:(.*?)\">.*?</a><!-- BBCode auto-mailto end -->#i", "\\1", $text);

	return $text;

}
заменил на:

Код: Выделить всё

function make_clickable($text)
{
	$text = preg_replace('#(script|about|applet|activex|chrome):#is', "\\1&#058;", $text);

	// pad it with a space so we can match things at the start of the 1st line.
	$ret = ' ' . $text;

	// matches an "xxxx://yyyy" URL at the start of a line, or after a space.
	// xxxx can only be alpha characters.
	// yyyy is anything up to the first space, newline, comma, double quote or <
	$ret = preg_replace("#(^|[\n ])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://yoursite.com/go.php?url=\\2\" target=\"_blank\"  rel=\"nofollow\">\\2</a>", $ret);

	// matches a "www|ftp.xxxx.yyyy[/zzzz]" kinda lazy URL thing
	// Must contain at least 2 dots. xxxx contains either alphanum, or "-"
	// zzzz is optional.. will contain everything up to the first space, newline, 
	// comma, double quote or <.
	$ret = preg_replace("#(^|[\n ])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is", "\\1<a href=\"http://yoursite.com/go.php?url=http://\\2\" target=\"_blank\" rel=\"nofollow\">\\2</a>", $ret);

	// matches an email@domain type address at the start of a line, or after a space.
	// Note: Only the followed chars are valid; alphanums, "-", "_" and or ".".
	$ret = preg_replace("#(^|[\n ])([a-z0-9&\-_.]+?)@([\w\-]+\.([\w\-\.]+\.)*[\w]+)#i", "\\1<a href=\"mailto:\\2@\\3\">\\2@\\3</a>", $ret);

	// Remove our padding..
	$ret = substr($ret, 1);

	return($ret);

}

/**

 * Nathan Codding - Feb 6, 2001
 * Reverses the effects of make_clickable(), for use in editpost.
 * - Does not distinguish between "www.xxxx.yyyy" and "http://aaaa.bbbb" type URLs.
 *
 */
function undo_make_clickable($text)
{
	$text = preg_replace("#<!-- BBCode auto-link start --><a href=\"http://yoursite.com/go.php?url=(.*?)\" target=\"_blank\">.*?</a><!-- BBCode auto-link end -->#i", "\\1", $text);
	$text = preg_replace("#<!-- BBcode auto-mailto start --><a href=\"mailto:(.*?)\">.*?</a><!-- BBCode auto-mailto end -->#i", "\\1", $text);

	return $text;

}
*__
кто будет ставить не забудьте поменять в кодах http://yoursite.com на ваш сайт

внес изменения в bbcode.tpl

вместо:

Код: Выделить всё

<a href="{URL}" {NOFOLLOW} target="_blank" class="postlink">{DESCRIPTION}</a>
поменял на:

Код: Выделить всё

<a href="http://yoursite.com/go.php?url={URL}" {NOFOLLOW} target="_blank" class="postlink">{DESCRIPTION}</a>

Идею скрипта редерикта взял - отсюда http://www.simplemachines.ru/index.php/ ... 991.0.html
Там есть еще есть идея php-кода для определения внутренних/внешних ссылок, чтобы редериктились ссылки только на внешние ресурсы. Если бы кто-то переделал его под phpBB - было бы здорово. Зачем вообще нужен этот редерикт - отвечу словами с того форума:
выкидывая внешние ссылки с сайта через редирект который запрешен роботсом, мы решаем проблему перетекания веса страниц на другие ресурсы. ПР и ТИЦ остается с нами. практически в каждой теме на форуме есть ссылки и админы извращаются делая их некликабельними и т.д. а так про это можно забыть. ссылка будет но бот не пойдет по ней. следовательно кусочек вашего ПР не утечет туда..а ведь именно ради этого часто спамят форумы..чтобы с прокаченной страницы получить жирную ссылку со своим анкором.
тут главное разделить внутренние ссылки которые нужны для внутренней перелинковки и внешние. внутренние должны остаться без редиректа
P.S.

С аналогичными СЕО-целями - еще давно повесил мод отсюда http://www.phpbbguru.net/community/post80302.html, который убирает прямые ссылки из профиля участников и мембер-листа. Таким образом защищаем форум от утекания ПР через исходящие ссылки.
Последний раз редактировалось Alex-od 18.12.2008 22:04, всего редактировалось 3 раза.
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 4531
Стаж: 15 лет 9 месяцев
Откуда: Питер
Благодарил (а): 136 раз
Поблагодарили: 556 раз

Re: Редирект внешних ссылок

Сообщение Siava »

Alex-od
А попробуйте своим файлом перейти по ссылке вида: http://site.ru/index.php?a=1&b=2&c=3
Еще одно нарушение правил и будете забанены. © Mr. Anderson
https://siava.ru/forum/ (phpbb 2.0.x, 3.1.x 3.5.x)
Аватара пользователя
gcib
phpBB 1.2.1
Сообщения: 24
Стаж: 11 лет 10 месяцев
Откуда: Киев, Украина
Благодарил (а): 1 раз

Re: Редирект внешних ссылок

Сообщение gcib »

Спасибо. Попробуем.

Надеюсь получиться... ;)
Alex-od
phpBB 1.0.0
Сообщения: 2
Стаж: 11 лет 10 месяцев

Re: Редирект внешних ссылок

Сообщение Alex-od »

Siava писал(а):Alex-od
А попробуйте своим файлом перейти по ссылке вида: http://site.ru/index.php?a=1&b=2&c=3
Я знаю, что ссылки со значком & - обрезаются.. Ну, способ не идеален.. Но как минимальное решение вопроса - сойдет...
MAzZY
Бывший член :)
Сообщения: 2925
Стаж: 15 лет 5 месяцев
Благодарил (а): 79 раз
Поблагодарили: 69 раз
Забанен: Бессрочно

Re: Редирект внешних ссылок

Сообщение MAzZY »

Друг Враг писал(а):В профилях и списке пользователей ссылки на их сайты остались прямыми. Как организовать редирект ВСЕХ внешних ссылок?
А какой в этом смысл? Эти страницы закрыты для просмотра поисковиками. Если не закрыты - сделайте это любым удобным способом.

DOMINATOR, большое спасибо за хорошую идею
Аватара пользователя
Gorbushka
phpBB 1.4.3
Сообщения: 92
Стаж: 13 лет 1 месяц
Откуда: Россия/Москва

Re: Редирект внешних ссылок

Сообщение Gorbushka »

Использовал метод с Prime Links - работает на всех версиях: 3.0.0-3.0.4 Проблем не было...
Профили закрываем от индексирования, как и все прочие ненужные страницы...
Сильно не баньте ;)
Vlad-on
phpBB 1.2.1
Сообщения: 27
Стаж: 12 лет 4 месяца
Благодарил (а): 2 раза

Re: Редирект внешних ссылок

Сообщение Vlad-on »

Вопрос DOMINATOR. Установил редирект, способом, который вы описывали. Вопрос такой. А на рекламу от гугла (adsense) это действовать не будет?
Vlad-on
phpBB 1.2.1
Сообщения: 27
Стаж: 12 лет 4 месяца
Благодарил (а): 2 раза

Re: Редирект внешних ссылок

Сообщение Vlad-on »

Ну в общем то проверил - работает...
Аватара пользователя
TjRadenot
phpBB 1.4.3
Сообщения: 92
Стаж: 14 лет 3 месяца
Откуда: Москва
Благодарил (а): 1 раз

Re: Редирект внешних ссылок

Сообщение TjRadenot »

DOMINATOR

Спасибо, за мод.
В каком месте прописать теги NOINDEX и NOFOLLOW для внешних ссылок?

Мод не работает в профилях :( Как заставить его работать там?
:)
Аватара пользователя
Gorbushka
phpBB 1.4.3
Сообщения: 92
Стаж: 13 лет 1 месяц
Откуда: Россия/Москва

Re: Редирект внешних ссылок

Сообщение Gorbushka »

В каком месте прописать теги NOINDEX и NOFOLLOW для внешних ссылок?
Это и не требуется.
Вы создаёте страницу go.php (или как-то так) и делаете все внешние ссылки на неё. Т.е. все ссылки уже внутненние. В тоже врмя Вы закрываете эту страницу для индексации. Такои образом, все внешние ссылки индексируются как внутренние, ведущии в закрытую часть сайта.
Мод не работает в профилях Как заставить его работать там?
Это так же не требуется, ибо профель обычно закрывается для индексации...

Читайте подробнее о robots.txt
Сильно не баньте ;)
nazar
phpBB 1.4.2
Сообщения: 73
Стаж: 13 лет 1 месяц
Откуда: org.ua

Re: Редирект внешних ссылок

Сообщение nazar »

у меня проблемка, на старом хостинге редирект ссылок через го.пхп с прайм линксом работал на ура, а вот на новом не хочет упорно пишет 404 еррор непонятно с какой радости
Аватара пользователя
Garret_Dark
phpBB 2.0.16
Сообщения: 1096
Стаж: 11 лет 9 месяцев
Откуда: root/world/russia/
Благодарил (а): 126 раз
Поблагодарили: 204 раза

Re: Редирект внешних ссылок

Сообщение Garret_Dark »

nazar
go.php залили?
Vitaliy21
phpBB 1.4.2
Сообщения: 62
Стаж: 11 лет 6 месяцев
Откуда: Ukraine, Zaporozhe
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: Редирект внешних ссылок

Сообщение Vitaliy21 »

Кто-то может подсказать как в go.php сделать чтоб при клике по ссылке перенаправление произошло через 15 секунд, а в это время чтоб на той странице показывался текст.
Что-то на подобии этого http://samforum.ws/redirector.php?url=http://toonel.net
Vitaliy21
phpBB 1.4.2
Сообщения: 62
Стаж: 11 лет 6 месяцев
Откуда: Ukraine, Zaporozhe
Благодарил (а): 1 раз
Поблагодарили: 1 раз

Re: Редирект внешних ссылок

Сообщение Vitaliy21 »

Я так понял надо направлять на отдельную страничку с предупреждением. А оттуда уже
<meta http-equiv="REFRESH" content="0;url=http://www.the-domain-you-want-to-redirect-to.com">

Только вот как к go.php прявязать html шаблон?

Вернуться в «Поддержка phpBB 3.0.х»