Хак Редирект с поддержкой исключений
- Хаки DLE
Самое радикальное решение борьбы со ссылочным спамом, оставляя кликабельность, это редирект. Данный хак не только ставит редиректы, но и покрывает ссылки редиректа в ноиндекс и нофоллов, таким образом вес вашей страницы не будет уменьшаться из за ссылок например на ту же рапиду. А самая главная фишка, - поддержка сайтов-исключений (дружественных сайтов) на которые редирект ставится не будет.
Обрабатываются все ссылки, которые проходят через парсер - новости, коменты, профиль и так далее. Ссылки вставленые в шаблон вами естественно не трогаются.
Xак применяется для новостей, которые добавляются после установки этого хака, а старые новости надо заново открывать для редактирования и сохранять.
Проверялся на 7.0 и 7.3, пока проблем не возникло,мною тестировались все прерыдущие версии этого хака, все они были доработаны и на данный момент это финальная версия.
Установка...
Находим в каталоге engine/classes/ файл parse.class.php, открываем его нашим редактором найдите следующую строчку кода:
if ($this->filter_mode) $txt = $this->word_filter($txt, false);
вставляем ниже
/*
Раскодировка сформированного URL-адреса
*/
$txt = preg_replace( "#<!--FFriend--><noindex><a rel="nofollow" href=["'](http://|https://|ftp://|ed2k://|news://|magnet:)?(S.+?)['"].+?".">(.+?)</a></noindex><!--EndFFriend-->#ie" , "$this->decode_friend('\1\2', '\3')", $txt );
Находим
return "<a href="".$url['html']."" ".$target.">".$show."</a>" . $url['end'];
Заменяем
/*
Формирование URL-адреса
*/
if($this->check_home($url['html'])||$this->check_friends($url['html']))
{
return "<a href="".$url['html']."" ".$target.">".$show."</a>" . $url['end'];
}
else
{
$url['html'] = $config['http_home_url']."go/?".($url['html']);
return "<!--FFriend--><noindex><a rel="nofollow" href="".$url['html']."" ".$target.">".$show."</a></noindex><!--EndFFriend-->" . $url['end'];
}
Находим
function word_filter($source, $encode = true) {
вставляем выше
/*
Функция: "Дружественный URL"
*/
function check_friends ($url)
{
global $config;
$friend_url = file($config['http_home_url']."engine/friend/friend_url.txt");
for ($i = 0; $i < count($friend_url); $i++)
{
$value = str_replace("http://", "", trim($friend_url[$i]));
$value = str_replace("www.", "", $value);
$value = explode('/', $value);
$value = reset($value);
if ($value == "" ) continue;
if (strpos($url, $value) === false) continue; else return true;
}
return false;
}
Находим
return "[leech=".$url."]".$show."[/leech]";
}
Вставляем ниже
/*
Раскодировка сформированного URL-адреса
*/
function decode_friend($url="", $show="")
{
global $config;
$home_url = $config['http_home_url']."go/?";
$url = str_replace($home_url, "", $url);
$url = explode ("url=", $url);
$url = end ( $url );
$url = rawurldecode($url);
return "[url=".$url."]".$show."[/url]";
}
Сохраняем, заливаем.
в строке
$friend_url = file($config['http_home_url']."engine/friend/friend_url.txt");
мы указывали путь к текстовичку, в котором будут дружественные сайты. Изменяем путь и имя по желанию.
Создаем в папке engine подпапку friend, файл friend_url.txt. Не забудьте проверить права на чтение нашей папки и файла с URL.
Заполняем файл friend_url.txt в каждой строке по домену, в формате http://dlepro.ru/
Создаем в корне папку go в ней файл index.php такого содержимого
<?php
if (!empty($_SERVER['QUERY_STRING'])){
$re_addr=$_SERVER['QUERY_STRING'];
header('Location: '.$re_addr);
}
?>
создаем там же файл .htaccess
содержимого
DirectoryIndex index.php
RewriteEngine Off
Автор: method
Стоимость: Бесплатно
Ключевые слова по теме Хак Редирект с поддержкой исключений: которые, новости, будет, return, nbspnbspnbspnbspnbspnbspnbspnbspvalue, ссылки, nbspnbspnbspnbspurl, редирект, Находим, этого, href3434url9139html39933434, nbspnbspnbspnbspnbspnbspnbspnbsp, url9139end3993, function, nbspnbspnbspnbsp, URLадреса, финальная, версия, Бесплатно, Стоимость
VrnBanya.ru Где купить сауны с бассейном в воронеже vrnBanya.ru. www.vrnbanya.ru |