Перейти к содержимому

- - - - -

ИСПРАВЛЕНИЕ НЕКОРРЕКТНОСТИ ССЫЛОК НА ОБЛАКО ТЕГОВ


Изображение


Совсем недавно заметил что ссылки из Яндекса на слова в облаке тегов DLE некорректны. Оказалось это ошибка не движка а я бы сказал выпендреж Яндекса-проявление имперских амбиций.
Првиеду пример ошибки:
Адрес из облака тегов DLE (если у вас кодировка движка windows-1251) вида:
http://vashsaite/tag...e/tags/???????/
в Яндексе отображаются как
http://vashsaite /tags/новости/
после клика по ним браузер переводил их в вид
http://vashsaite /tags/%D0%BD%D0%BE%D...81%D1%82%D0%B8/
И движком такой адрес воспринимаеться как неверный и выдаеться ошибка о несуществующей странице.
Чтобы избавиться от такой ошибки я написал для своего движка версии DLE 8.5 фиксу:
Надо отредактировать файл engine.php движка, лежащий по адресу:
Корневая папка вашего сайта /engine/engine.php
Найти в нем строчку

if (isset ( $_SESSION['dle_direction_tags'] )) $news_direction_by = $_SESSION['dle_direction_tags'];

и после нее вставить код:

$s=$tag;
$s=urlencode($s); // в некоторых случаях - лишняя операция (закоментируйте)
$res='0';
$j=strlen($s);
$s2=strtoupper($s);
$s2=str_replace("%D0",'',$s2);
$s2=str_replace("%D1",'',$s2);
$k=strlen($s2);
$m=1;
if ($k>0){
$m=$j/$k;
if (($m>1.2)&&($m<2.2)){ $tag=iconv("UTF-8", "WINDOWS-1251", $tag); }
}

Теперь все ссылки будут восприниматься вашим сайтом как существующие!
Данный хак будет работать на всех версиях DLE начиная от 8.X до 9.3 включительно. Возможно будет работать и на более старых, но там я уже не проверял.


0 Comments

Яндекс.Метрика Рейтинг@Mail.ru
Besucherzahler femmes russes a marier
счетчик посещений