Редактор темы

Реклама
Реклама

Глобальный хак по изменению логики категорий и доп полей dle 11.x

  • Автор темы Автор темы PunPun
  • Дата начала Дата начала
было такое изза слейшей в ссылках, т.е. после сделанного seo-pack от @Gameer и применения этого хака - был такой косяк... проверяй верно ли URL или нет...
Спасибо за подсказку, дома гляну. Со слешем не хочет, а удаляеш все равно на него редиректит
 
Спасибо за подсказку, дома гляну. Со слешем не хочет, а удаляеш все равно на него редиректит
тода надо смотреть уже htaccess и удалить редирект со слешем на конце!
 
@Gameer, как я уже и писал, после использования этого хака+хлебных крошек+сео пака не работают категории, при заходе по любой из них пишет

Страница не работает
Сайт выполнил переадресацию слишком много раз.

Попробуйте сделать следующее:

ERR_TOO_MANY_REDIRECTS

сам не сталкивался? как исправить, где-то циклическая переадресация в категориях появляется.
 
я думаю гдето можно совместить ведь, найти и пофиксить
можно, выше я писал уже что у меня было 🙂 решение нашлось... в твоём случае - я не "пифия" и не могу угадать что там творится 😉
 
можно, выше я писал уже что у меня было 🙂 решение нашлось... в твоём случае - я не "пифия" и не могу угадать что там творится 😉
как исправил ты, если вспомниш
 
как исправил ты, если вспомниш
у меня не работал редирект неправильных ссылок! я нашёл его сео-пак от декабря прошлого года, и сделал правки кода для проверки урла ссылок новостей и категорий 🙂
 
у меня не работал редирект неправильных ссылок! я нашёл его сео-пак от декабря прошлого года, и сделал правки кода для проверки урла ссылок новостей и категорий 🙂
Спасибо, по ковыряю.
 
@DomiTori, удалось избавиться от бесконечного редиректа?
 
если в админке отключить обработку неверных чпу, то все начинает работать. Хз че делать теперь. жестка без 301 в новостях с при смене урла
 
если в админке отключить обработку неверных чпу, то все начинает работать. Хз че делать теперь. жестка без 301 в новостях с при смене урла
мне из старого пака помог:
Открываем .htaccess, находим код :
Код:
# Сам пост
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6&seourl=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*).html$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5&seourl=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*).html$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4&seourl=$4 [L]

RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$4&news_page=$2&cstart=$3&seourl=$5&seocat=$1 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$2&seourl=$4&seocat=$1 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$2&newsid=$3&seourl=$4&seocat=$1 [L]
RewriteRule ^([^.]+)/([0-9]+)-(.*).html$ index.php?newsid=$2&seourl=$3&seocat=$1 [L]

RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$3&news_page=$1&cstart=$2&seourl=$4 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*).html$ index.php?newsid=$2&news_page=$1&seourl=$3 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*).html$ engine/print.php?news_page=$1&newsid=$2&seourl=$3 [L]
RewriteRule ^([0-9]+)-(.*).html$ index.php?newsid=$1&seourl=$2 [L]
И заменяем на:
Код:
# Сам пост
RewriteBase /
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),([0-9]+),(.*)\.(.*)$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&cstart=$5&news_name=$6 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/page,([0-9]+),(.*)\.(.*)$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/print:page,([0-9]+),(.*)\.(.*)$ engine/print.php?subaction=showfull&year=$1&month=$2&day=$3&news_page=$4&news_name=$5 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([0-9]{4})/([0-9]{2})/([0-9]{2})/(.*)\.(.*)$ index.php?subaction=showfull&year=$1&month=$2&day=$3&news_name=$4 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$4&news_page=$2&cstart=$3 [L]
RewriteRule ^([^.]+)/page,([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$3&news_page=$2 [L]
RewriteRule ^([^.]+)/print:page,([0-9]+),([0-9]+)-(.*)$ engine/print.php?news_page=$2&newsid=$3 [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([^.]+)/([0-9]+)-(.*)$ index.php?newsid=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$3&news_page=$1&cstart=$2 [L]
RewriteRule ^page,([0-9]+),([0-9]+)-(.*)$ index.php?newsid=$2&news_page=$1 [L]
RewriteRule ^print:page,([0-9]+),([0-9]+)-(.*)$ engine/print.php?news_page=$1&newsid=$2 [L]
RewriteRule ^([0-9]+)-(.*)$ index.php?newsid=$1 [L]
Открываем ./engine/modules/show.full.php, находим код и удаляем
Код:
if ($config['seo_control'] AND ( isset($_GET['seourl']) OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false ) ) {
    if ($_GET['seourl'] != $row['alt_name'] OR $_GET['seocat'] != $c_url OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false) {

        if ($view_template == "print") {

            $re_url = explode ( "engine/print.php", strtolower ( $_SERVER['PHP_SELF'] ) );
            $re_url = reset ( $re_url );

        } else {

            $re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
            $re_url = reset ( $re_url );

        }

        header("HTTP/1.0 301 Moved Permanently");
        header("Location: {$re_url}{$c_url}/{$row['id']}-{$row['alt_name']}.html");
        die("Redirect");

    }

}
так же удаляем
Код:
if ($config['seo_control'] AND ( isset($_GET['seourl']) OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false ) ) {
    if ($_GET['seourl'] != $row['alt_name'] OR $_GET['seocat'] OR $_GET['news_name'] OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false ) {

        if ($view_template == "print") {

            $re_url = explode ( "engine/print.php", strtolower ( $_SERVER['PHP_SELF'] ) );
            $re_url = reset ( $re_url );

        } else {

            $re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
            $re_url = reset ( $re_url );

        }

        header("HTTP/1.0 301 Moved Permanently");
        header("Location: {$re_url}{$row['id']}-{$row['alt_name']}.html");
        die("Redirect");

    }

}
так же удаляем
Код:
if ( $config['seo_control'] ) {
    if ($_GET['newsid'] OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false) {

        if ($view_template == "print") {

            $re_url = explode ( "engine/print.php", strtolower ( $_SERVER['PHP_SELF'] ) );
            $re_url = reset ( $re_url );

        } else {

            $re_url = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
            $re_url = reset ( $re_url );

        }

        header("HTTP/1.0 301 Moved Permanently");
        header("Location: {$re_url}".date( 'Y/m/d/', $row['date'] ).$row['alt_name'].".html");
        die("Redirect");

    }

}
Далее находим код
Код:
} else {

    $full_link = $config['http_home_url'] . "index.php?newsid=" . $row['id'];
    $print_link = $config['http_home_url'] . "engine/print.php?newsid=" . $row['id'];
    $short_link = "";
    $link_page = "";
    $news_name = "";
И выше вставляем
Код:
$true_link = $config['http_home_url'] . substr ($_SERVER['REQUEST_URI'], 1);
if (intval($_REQUEST['cstart']) >= 2) $full_link = $link_page . intval($_REQUEST['cstart']) . "," . $news_name . ".html";
elseif ($news_page >= 2) $full_link = $link_page . $news_name . ".html";

if ($true_link != $full_link) {
    header('HTTP/1.1 301 Moved Permanently');
    header ('Location: ' . $full_link);
    die();
}

а вообще прежде чем его ставить, надо подумать - надо ли оно? какую пользу оно принесет кроме гололовной боли?
 
а вообще прежде чем его ставить, надо подумать - надо ли оно? какую пользу оно принесет кроме гололовной боли?
реально наверно нахер его, больше геомра чем пользы=)
 
Штука полезная, но не рабочая. После установки перестает работать чпу в категорих и перестает работать профиль пользователя. Категории чинятся выключением обработки неверных чпу в админке, но это создаст дубли страниц, что нам не нужно. Проверено на чистом Dle 11.0 последней стабильной версии
 
@Gameer Может кто нибудь внесет правки в этот SEO пак для актуальной версии?, так и проблема осталась не решенная, с вечной переадресацией и профилем пользователя
 
@Gameer Может кто нибудь внесет правки в этот SEO пак для актуальной версии?, так и проблема осталась не решенная, с вечной переадресацией и профилем пользователя
как я понял простым смертным глючное барахло доступно, в привате же все поправленное есть.
 
там есть по 3 ману скоректирвоаное, ставишь и траф попер
я первый свой киносайт делаю, на приват как и у многих денег нет. Буду пробовать своими силами вывести в свет
 
Да хотя бы укратить ссылку с такого xfsearch/year/2016/ на такой /year/2016/ или такой /2016/ кто решил у себя эту проблему?
 

Похожие темы Последние темы Популярные темы

Назад
Сверху