Открываем /index.php, ищем
echo $tpl->result['main'];Выше добавляем нашу строку поиска и замены ссылок:
$tpl->result['main'] = preg_replace ( '~(<a(?!.*?class=\"trustlink\")(?>.*?href))=(["\'])([a-z0-9]++://(?![a-z0-9\.]*?'.$_SERVER['HTTP_HOST'].').*?)\2~eSi', '"\1=\"/goto/".rawurlencode(base64_encode(mb_convert_encoding( "$3", "UTF-8", "windows-1251" )))."/\" rel=\"nofollow\"";', $tpl->result['main'] );
Далее нужно создать правила перенаправления для веб-сервера.
Правила для htaccess:
RewriteRule ^goto/(.*)/$ /engine/go.php?url=$1 [L]Правила для nginx:
rewrite "^/goto/(.*)/$" /engine/go.php?url=$1 last;
Адрес на котором будет запущен скрипт (ваш домен) является исключением , т.е ссылки не будут заменяться.
Для исключения ссылки от замены добавьте к ссылке class="trustlink"
Плюсы данного хака - это скорость работы, т.к задействована всего одна строчка кода. Исключения class="trustlink", для удобства регистрации на биржах ссылок.
Подходит для любой cms, необходимо только заменить переменную источника поиска и страницу перенаправления url.
Минусы. Ограниченный функционал, отсутствие черных и белых списков, отсутствие исходящих страниц с ожиданием перенаправления, если сравнивать например с модулем dude smart leech,
Получилась неплохая альтернатива, с простым внедрением в код любого php скрипта.
Пример использования кода, ссылка на google.ru будет иметь вид
<a href="/goto/aHR0cDovL2dvb2dsZS5ydQ%3D%3D/" rel="nofollow" target="_blank" style="text-decoration: line-through !important;">google.ru</a>