1. Приветствую гостей и пользователей нашего форума! Первый раз вы у нас или же давно участвуете в жизни ресурса, хочу напомнить несколько моментов.

    1) Пользуемся поиском по форуму! Зачастую информация может находиться не по разделу!

    2) Раздел ИНФО-продуктов относительно новый, но имеем уже более 3000 высококлассных материалов (пользуемся сортировкой по прификсам).

    3) И самое важное, КАК КАЧАТЬ БЕЗ ОГРАНИЧЕНИЙ, вся информация находится по этой ссылке КУПИТЬ VIP

    4) Временная акция, получи +5 постов за вступление в нашу группу "Вконтакте" Более подробно ТУТ

    5) Веди активную жизнь на форуме и получай рубли на личный счёт!

    Скрыть объявление
  2. На нашем форуме Null-Prog действует серьёзное правило касательно размещения материалов!

    ДЛЯ РЕЛИЗЁРОВ: категорически запрещается выкладка материалов на файлообменники типа Deposit, letitbit и другие, требующие просмотров рекламы, обрезающие скорость и тд. Нарушителям, первые 2 раза предупреждения, далее БАН. Тему по этому поводу можно посмотреть ТУТ

    Скрыть объявление
  3. В тестовом режиме на нашем форуме открыт онлайн конструктор сайтов. Вы можете попробовать создать свой сайт у НАС, интуитивно понятный интерфейс, переведёт на 95%, быстрый экспорт проекта, от вас только перетаскивать элементы и вставить в них необходимый текст!

    Все вопросы ТУТ

    Скрыть объявление

  4. Скрыть объявление
  5. Уважаемые форумчане, открывается новый раздел форума, посвящённый ремонту и эксплуатации автомобилей. Просмотреть его можно ТУТ

    Так как раздел новый, информация будет пополнять каждый день. Если есть какие либо замечания по этому разделу, отписываемся в соответствующий раздел форума, либо в личку.

    Напоминаю, сообщения в разделе АВТО не учитываются, общение не ограничено.

    Скрыть объявление
  6. Объявляется набор Модераторов на различные раздел форума, свои заявки можно оставлять в ЭТОМ разделе, перед оставлением заявки рекомендуется ознакомиться с ПРАВИЛАМИ для модераторов.

ХАК Редирект внешних ссылок

Тема в разделе "Инструкции DLE", создана пользователем Sam Jack, 19 май 2015.

  1. Sam Jack

    Sam Jack Капитан-Узурпатор
    Команда форума Созидатель

    Регистрация:
    5 май 2015
    Сообщения:
    13.755
    Симпатии:
    4.725
    [​IMG]

    Хак Редирект внешних ссылок в Dle - этот маленький хак позволит все внешние ссылки в новостях изменять на sitename/go/? с добавлением тегов от индексации поисковиков noindex и nofollow.

    Установка:

    1. Открываем файл engine/classes/parse.class.php и находим:
    if( $this->safe_mode AND !$config['allow_search_link'] AND $target )
    return "<a href=\"" . $url['html'] . "\" " . $target . " rel=\"nofollow\">" . $url['show'] . "</a>" . $url['end'];
    else
    return "<a href=\"" . $url['html'] . "\" " . $target . ">" . $url['show'] . "</a>" . $url['end'];


    Заменяем на:
    if( $this->safe_mode AND !$config['allow_search_link'] AND $target ) {
    return "<a href=\"" . $url['html'] . "\" " . $target . " rel=\"nofollow\">" . $url['show'] . "</a>" . $url['end'];
    } elseif( $this->check_home($url['html']) ) {
    return "<a href=\"" . $url['html'] . "\" " . $target . ">" . $url['show'] . "</a>" . $url['end'];
    } else {
    $url['html'] = $config['http_home_url'] . "go/?" . $url['html'];
    return "<a href=\"" . $url['html'] . "\" " . $target . " rel=\"nofollow\">" . $url['show'] . "</a>" . $url['end'];
    }


    Далее находим, для Dle 10.1, 10.2:
    function decode_url( $matches = array() ) {

    $show = $matches[3];
    $url = $matches[1].$matches[2];
    $url = str_replace("&amp;","&", $url );

    return "" . $show . "";
    }


    Для Dle 10.3:
    function decode_url( $matches=array() ) {

    $url = $matches[1];
    $show = $matches[3];
    $params = trim($matches[2]);
    if( !$params OR $params == 'target="_blank"' OR $params == 'target="_blank" rel="nofollow"' OR $params == 'rel="nofollow"' ) {
    $url = str_replace("&amp;", "&", $url );
    return "" . $show . "";
    } else {
    return $matches[0];
    }
    }


    Заменяем на (привести в такой вид), для Dle 10.1,10.2:
    function decode_url( $matches = array() ) {
    global $config;
    $show = $matches[3];
    $url = $matches[1] . $matches[2];
    $url = str_replace("&amp;","&", $url );
    $url = str_replace($config['http_home_url'] . "go/?", "", $url);

    return "" . $show . "";
    }


    Для Dle 10.3:
    function decode_url( $matches = array() ) {
    global $config;

    $url = $matches[1];
    $show = $matches[3];
    $params = trim($matches[2]);
    if( !$params OR $params == 'target="_blank"' OR $params == 'target="_blank" rel="nofollow"' OR $params == 'rel="nofollow"' ) {
    $url = str_replace("&amp;", "&", $url );
    $url = str_replace($config['http_home_url'] . "go/?", "", $url);
    return "" . $show . "";
    } else {
    return $matches[0];
    }
    }


    2. В корне сайта создаем папку go и в этой папке создаем файл index.php со следующим содержимым:
    Вариант 1:
    <?php
    if( !empty($_SERVER['QUERY_STRING']) ) {
    header('Location: ' . $_SERVER['QUERY_STRING']);
    } else header('Location: /');
    ?>


    Вариант 2:
    <?php
    if( !empty($_SERVER['QUERY_STRING']) ) {
    echo <<<HTML
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <title>Переход по внешней ссылке</title>
    <!--meta http-equiv="Content-Type" content="text/html; charset=utf-8" /-->
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
    <meta name="robots" content="noindex">
    <link rel="shortcut icon" href="../favicon.ico" type="image/x-icon" />
    </head>
    <body id="body">
    <noindex><br /><br /><center>Перенаправление на внешний ресурс: <br /><br />
    <div id="waiting"></div>
    <noscript>Нажмите <a href="{$_SERVER['QUERY_STRING']}" rel="nofollow">сюда</a> если ваш браузер не перешел по ссылке автоматически.</noscript></center></noindex>
    <script type='text/javascript'>
    function countdown(sec) {
    sec--;
    if( sec > 0 ) {
    document.getElementById("waiting").innerHTML = 'Осталось '+sec+'c.';
    window.setTimeout("countdown("+sec+")", 1000);
    } else {
    document.getElementById("waiting").innerHTML = 'Нажмите <a href="{$_SERVER['QUERY_STRING']}" rel="nofollow">сюда</a> если ваш браузер не перешел по ссылке автоматически.';
    window.location.href = "{$_SERVER['QUERY_STRING']}";
    }
    }
    countdown(3); // Сколько секунд ждать: 3 = 3 сек.
    </script>
    </body>
    </html>
    HTML;
    } else header('Location: /');
    ?>


    3.Так же в папке /go/ рекомендуется создать файл .htaccess со следующим содержимым:
    DirectoryIndex index.php
    RewriteEngine Off


    Готово!

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

    * В админ центре, в разделе Перестроение публикаций выполните перестроение (для старых новостей).

    Версия DLE: 10.1-10.3
    Автор: i-notes
    Автор модификации: vitnet
    Сайт модификатора: quantum-soft.ru
     

Поделиться этой страницей

iHax Community
Рейтинг@Mail.ru Яндекс.Метрика мониторинг сайтов
Форум программного обеспечения/
Загрузка...