как сделать все ссылки через редирект

Статус
В этой теме нельзя размещать новые ответы.

terkin

Мой дом здесь!
Регистрация
9 Дек 2006
Сообщения
513
Реакции
200
Вобщем интересует как реализовать или нужен хак, что бы все ссылки в сообщениях ишли через редирект ну так как на нуледе
 
Гдето валялься вроде но не уверен что под новую линейку,проще в етот переделай,пару строчек кода:)
 
Гдето валялься вроде но не уверен что под новую линейку,проще в етот переделай,пару строчек кода:)
*** скрытое содержание ***

Чёт на новых версиях не катит, может есть какие нибудь варианты решения?
 
Проверил на 2.3.4. Работает. Спасибо!
 
  • Заблокирован
  • #5
на IP.Board 2.3.5 отже пашет
 
Личеры и прочие...

Редирект может потребоваться чтобы какие-нибудь пионЭры не поставили на свои ресурсы ссылку для закачки файлов, к примеру, с твоево, тем самым хавая траф.
 
ТС решил свою проблему.
Если есть вопросы, не касающиеся САБЖа - создавайте топик.

Следующий пост не по теме - заслуженный бан.
Спасибо за внимание.

зы LZET, можно подумать, что через редирект траф не хавается.:confused:
ззы риторический пост.
 
Проверено на 2.3.3. Рекомендуется к установке, чтобы спам-посты теряли смысл поднятия PR за ваш счет.
создаем в корне файл redirect.php с кодом:
PHP:
<?
$arr = array("\n", "\r", "\t", "\r\n", "\n\r", "\0"); // тут опасные сиволы...

$url = getenv('QUERY_STRING');
$url = str_replace($arr, "", $url);

header("location: " . $url);
?>
Ищем в /sources/classes/bbcode файл class_bbcode_core.php
строка
PHP:
return ( isset($url['st']) ? $url['st'] : '' ) . "<a href=\"".$url['html']."\" target=\"_blank\">".$show."</a>" . $url['end'];
добавить выше:
PHP:
if (!strstr($url['html'], "http://ваш_сайт.сом")) $url['html'] = "http://ваш_сайт.сом/redirect.php?" . $url['html'];
далее ищем в файле /sources/lib/post_parser.php
PHP:
$txt = preg_replace( "#<a href=[\"'](http://|https://|ftp://|news://)?(\S+?)['\"].+?".">(.+?)</a>#" , "\[url=\\1\\2\]\\3\[/url\]"  , $txt );
меняем на:
PHP:
$txt = preg_replace( "#<a href=[\"'](http://|https://|ftp://|news://)?(\S+?)['\"].+?".">(.+?)</a>#" , "\[url=\\1\\2\]\\3\[/url\]"  , str_replace("http://ваш_сайт.сом/redirect.php?", "", $txt) );

з.ы. - ваш_сайт.сом замените на правильный :D

Работает, но только для ссылок, добавленных после установки мода. Нельзя ли сделать, чтобы редирект был и на старые ссылки?
 
Работает, но только для ссылок, добавленных после установки мода. Нельзя ли сделать, чтобы редирект был и на старые ссылки?

можно в админке перестроить содержимое сообщений
 
smash_TeAm™, да так можно сделать.
Теперь ещё один вопрос: как сделать, чтобы на ссылки с определённых сайтов редиректа не было?
Интересно.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху