Все для 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

06shurik от 29 марта 2018 14:01
Цитата: dle9.com
Вот тут более обо всех возможных вариантах и проблемах с данным сообщением
https://rusadmin.biz/oshibki/forbidden-you-don-t-have-permission-to-access
-on-this-server-kak-ispravit/

Ой! К сожалению нет такой страницы.
dle9.com от 27 марта 2018 18:37
Цитата: 06shurik
на 12.1 не соображу в чем проблема
You don't have permission to access /go/ on this server.
права выставлены правильно.

Вот тут более обо всех возможных вариантах и проблемах с данным сообщением
Внимание! У Вас нет прав для просмотра скрытого текста.


Прежде чем, впадать во все тяжкие ...
1. Вспомнить действия которые привели к данной ситуации.
2. Спросить у тех поддержки, может у них что-то, чтобы не наломать дров
06shurik от 27 марта 2018 16:25
на 12.1 не соображу в чем проблема
You don't have permission to access /go/ on this server.
права выставлены правильно.
Гость45 от 27 июля 2017 16:54
Спасибо хак работает на версии 10.6. Папку go нужно называть в нижнем регистре!
Макс от 7 августа 2015 15:55
Хак постави на 10.3, редирект в новостях прекрасно работает, но если к новости можно оставлять комментарии и там публикуют ссылку - редирект в этих комментариях не работает. подскажите плиз как поправить?
dle9.com от 16 марта 2015 11:54
Цитата: Андрей
Делал так, но редирект все равно не убрался из ссылок. Бэкап есть, но делал все несколько месяцев назад и с того времени много новых новостей.

у вас два вариант
1. Открыть каждую новую новость до изменения в админке на редактирование новостей в браузере , потом установить старую БД и сохранить каждую новую новость с изменением удаление ссылок. Перед этим сохраните нынешнюю БД.

Таким образом вы добавите все новые новости до изменения с временем и датой

2. открыть БД и посмотреть как ссылки формируются найти элемент к примеру GO и с помощью функции а админ панели дле Найти и заменить вырезать эту функцию из БД в новостях, новости вернуть в прежнее состояние
Андрей от 16 марта 2015 10:35
Делал так, но редирект все равно не убрался из ссылок. Бэкап есть, но делал все несколько месяцев назад и с того времени много новых новостей.
dle9.com от 16 марта 2015 06:09
Цитата: Андрей
Подскажите как сделать в обратном порядке. После того как сделал такой редирект, как теперь убрать? Чтоб ссылки опять стали открытыми.

Убрать код из файлов, в админ панели движка Утилиты > Перестроение публикаций сделать перестроение новостей.

А вообще проще было бы если база данных была бы сохранена, всегда следует сохранять перед внесения изменений в файлах дле скрипта, добавлением модулей и хаков.
Андрей от 16 марта 2015 02:17
Подскажите как сделать в обратном порядке. После того как сделал такой редирект, как теперь убрать? Чтоб ссылки опять стали открытыми.
06shurik от 7 января 2015 16:19
все отлично работает. только для каждого доп поля с анкорной ссылкой пришлось делать под каждый сайт на источник:
Добавить комментарий

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

    • 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