Все для DataLife Engine / DLE хаки / Хак для DLE / DLE Редирект внешних ссылок

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


Для любой версии DLE Редирект внешних ссылок - этот маленький хук позволит все внешние ссылки в новостях изменять на УРЛ типа (sitename/go/?) с добавлением тегов от индексации поисковиков noindex и nofollow.
Автора попросили помочь с внешними ссылками на его прогрессивно развивающимся музыкальном портал с названием SoundSlave под управлением CMS DataLife Engine, где надо было убрать все ссылки ещё в noindex и nofollow, а также сделать редирект с помощью вставки в УРЛ GO типа:
http://sitename/go/?
я взялся помочь :)

Стоит отметить, что хаки для дле можно использовать и на версии dle 10.1, DLE 10.2, dle 10.3, и выше.

Установка хака для дле Redirekt
Итак начнем, для начала открываем файлик:
engine\classes\parse.class.php
и правим его, рекомендую пользоваться notepad++ или другим адекватным редактором ;)
Находим в файле кусок кода:

return "<a href=\"" . $url['html'] . "\" " . $target . ">" . $url['show'] . "</a>" . $url['end'];


и заменяем его на следующее:

if($this->check_home($url['html']))
{
return "<a href=\"".$url['html']."\" ".$target.">".$show."</a>" . $url['end'];
}
else
{
$url['html'] = $config['http_home_url']."go/?". $url['html'];
return "<noindex><a rel=\"nofollow\" href=\"".$url['html']."\" ".$target.">". $url['show'] ."</a></noindex>
" . $url['end'];
}


Далее в корне сайта создаем директорию или папку GO и в этой папке создаем файл index.php, получаем: Ваш домен/GO/index.php
со следующим содержимым:

<?php
if (!empty($_SERVER['QUERY_STRING'])){
$re_addr=$_SERVER['QUERY_STRING'];
header('Location: '.$re_addr);
}
?>


В папку /go/index.php советую добавить файл .htaccess:

DirectoryIndex index.php
RewriteEngine Off


создаем какую-нибудь новость и смотрим на результат, все внешние ссылки будут в noindex и nofollow, а также
http://sitename/go/?http://внешняя ссылка




ВНИМАНИЕ! Изменения можно увидеть только при добавления новой новости с ссылок на другой ресурс.

Для того, чтобы изменения вступили в силу для старых новостей, следует в админ панели движка Утилиты > Перестроение публикаций сделать перестроение новостей.
Хак проверен и работает!

Автор: i-notes
Скрин картинки от пользователя: Karat7

Ну вот и прекрасно, теперь ваш ресурс может спокойно добавлять ссылки на другие сайты и не получит бан от Яши и других поисковиков!
  • 80

Комментарии 31

dle9.com от 5 января 2015 17:59
Цитата: Alex

[url=http://ваш домен/go/?[xfvalue_x]][/url]

обратит внимание нужно вписать ваш домен и заменить тег вывода на xfvalue_x на название вашего доп. поля должно получится

Да, спасибо! Я так и сделал ещё вчера. Всё работает!


Интересно, как это у него все работает? В файлах шаблона не работают BB тэги. Я даже засомневался и попробовал ))) А то бы сам так все ссылки из доп полей попрятал. Непонятный момент

сам не пробовал через доп. поле :winked: но наверное так будет корректней

<a href="http://ваш домен/go/?[xfvalue_x]" ></a>


rel="nofollow" target="_blank" внутрь добавить ещё теги открытия в новом окне и т.д.
Alex от 5 января 2015 16:48

[url=http://ваш домен/go/?[xfvalue_x]][/url]

обратит внимание нужно вписать ваш домен и заменить тег вывода на xfvalue_x на название вашего доп. поля должно получится

Да, спасибо! Я так и сделал ещё вчера. Всё работает!


Интересно, как это у него все работает? В файлах шаблона не работают BB тэги. Я даже засомневался и попробовал ))) А то бы сам так все ссылки из доп полей попрятал. Непонятный момент
dle9.com от 20 октября 2014 13:17
Цитата: Suleyman
Цитата: dle9
Чтобы сделать редирект с ГО для доп поля можно попробовать следующий вариант с этим хаком

в fullstory.tpl добавьте следующий код
[url=http://ваш домен/go/?[xfvalue_x]][/url]


обратит внимание нужно вписать ваш домен и заменить тег вывода на xfvalue_x на название вашего доп. поля должно получится


Да, спасибо! Я так и сделал ещё вчера. Всё работает!

на здоровье
Suleyman от 20 октября 2014 13:13
Цитата: dle9
Чтобы сделать редирект с ГО для доп поля можно попробовать следующий вариант с этим хаком

в fullstory.tpl добавьте следующий код
[url=http://ваш домен/go/?[xfvalue_x]][/url]


обратит внимание нужно вписать ваш домен и заменить тег вывода на xfvalue_x на название вашего доп. поля должно получится


Да, спасибо! Я так и сделал ещё вчера. Всё работает!
dle9.com от 20 октября 2014 13:09
Чтобы сделать редирект с ГО для доп поля можно попробовать следующий вариант с этим хаком

в fullstory.tpl добавьте следующий код
[url=http://ваш домен/go/?[xfvalue_x]][/url]


обратит внимание нужно вписать ваш домен и заменить тег вывода на xfvalue_x на название вашего доп. поля должно получится
Suleyman от 20 октября 2014 13:02
Цитата: dle9

Именно доп поле играет роль, т.к. не для него генерируется ссылка с редиректом, вы пробовали просто ссылку в новость добавить и проверить.


Нет, надо попробывать.
Хотя этот вариант мне не подходит.
Потому что хочу управлять ссылками именно через дополнительные поля.
Тогда, проще в шаблоне полной новости прописать к дополнительному полю приставку /go?.
dle9.com от 20 октября 2014 12:59
Цитата: Suleyman
3 раза проделывал всё с нуля. Лично у меня на 10.2 хак НЕ работает.
Папка go подписана малыми буквами. Пробую на денвере в процессе создания нового сайта. В БД всего несколько фильмов, поэтому база пока совсем мала. Внимательно менял код в указанных файлах. Новости добавляю и редактирую в админпанели.
Может ли НЕ работать хак, если ссылка на файлообменник находится в дополнительном поле?

Именно доп поле играет роль, т.к. не для него генерируется ссылка с редиректом, вы пробовали просто ссылку в новость добавить и проверить.
Suleyman от 20 октября 2014 12:21
3 раза проделывал всё с нуля. Лично у меня на 10.2 хак НЕ работает.
Папка go подписана малыми буквами. Пробую на денвере в процессе создания нового сайта. В БД всего несколько фильмов, поэтому база пока совсем мала. Внимательно менял код в указанных файлах. Новости добавляю и редактирую в админпанели.
Может ли НЕ работать хак, если ссылка на файлообменник находится в дополнительном поле?
dle9.com от 20 октября 2014 11:58
Цитата: Mantrik
проблема решена.
нужно редактировать, добавлять новости в стандартном BBCODES. вот почему и не получалось. спасибо за хак.

пожалуйста,
имеется ввиду добавлять/редактировать новость в админ панели движка, а не сайте.
Mantrik от 20 октября 2014 11:12
проблема решена.
нужно редактировать, добавлять новости в стандартном BBCODES. вот почему и не получалось. спасибо за хак.
Добавить комментарий

Оставить комментарий

    • bowtiesmilelaughingblushsmileyrelaxedsmirk
      heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
      winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
      worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
      expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
      disappointedconfoundedfearfulcold_sweatperseverecrysob
      joyastonishedscreamtired_faceangryragetriumph
      sleepyyummasksunglassesdizzy_faceimpsmiling_imp
      neutral_faceno_mouthinnocent