DataLife Engine > Версия для печати > Редирект внешних ссылок DLE 10.1-10.3

Этот маленький хак позволит Вам изменять все внешние ссылки в новостях на *site/go/?, с добавлением тегов от индексации поисковиков nofollow.

Установка:

1. Открываем файл engine/classes/parse.class.php и находим:

                        if( $this->safe_mode AND !$config['allow_search_link'] AND $target )
                                return "" . $url['show'] . "" . $url['end'];
                        else
                                return "" . $url['show'] . "" . $url['end'];

Заменяем на:

                   if( $this->safe_mode AND !$config['allow_search_link'] AND $target ) {
                                return "" . $url['show'] . "" . $url['end'];
                        } elseif( $this->check_home($url['html']) ) {
                                return "" . $url['show'] . "" . $url['end'];
                        } else {
                                $url['html'] = $config['http_home_url'] . "go/?" . $url['html'];
                                return "" . $url['show'] . "" . $url['end'];
                        }

Далее находим, для Dle 10.1, 10.2:

     function decode_url( $matches = array() ) {
                
                $show = $matches[3];
                $url  = $matches[1].$matches[2];
                $url = str_replace("&","&", $url );
                
                return "[url=" . $url . "]" . $show . "[/url]";
        }

Для 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("&", "&", $url );
                        return "[url=" . $url . "]" . $show . "[/url]";
                } 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("&","&", $url );
                $url = str_replace($config['http_home_url'] . "go/?", "", $url);
                
                return "[url=" . $url . "]" . $show . "[/url]";
        }

Для 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("&", "&", $url );
                        $url = str_replace($config['http_home_url'] . "go/?", "", $url);
                        return "[url=" . $url . "]" . $show . "[/url]";
                } else {
                        return $matches[0];
                }
        }

2. В корне сайта создаем папку go и в этой папке создаем файл index.php со следующим содержимым:

Вариант 1

Вариант 2: