Что нового

ЧПУ без ID новостей DLE (2 просмотра)

Я вот одного не понимаю, неужели так сложно сразу приложить описание или скриншот ошибки?
Я думал пока сам гляну, но вот как то так 1699297105538

engine/modules/show.full.php
PHP:
if( $category_id AND $config['seo_type'] == 2 ) {

                    $c_url = get_url(  $row['category'] );

                    if($c_url) {
                        $full_link = $config['http_home_url'] . $c_url . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
                    } else {
                        $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";
                    }

                    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 OR (isset($_GET['news_page']) AND $_GET['news_page'] == 1 AND $cstart < 2 AND $view_template != "print") OR ($view_template == "print" AND $news_page > 1) ) {

                            $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");

                        }

                    }

                    $print_link = $config['http_home_url'] . $c_url . "/print:page,1," . $row['id'] . "-" . $row['alt_name'] . ".html";
                    $short_link = $config['http_home_url'] . $c_url . "/";
                    $row['alt_name'] = $row['id'] . "-" . $row['alt_name'];
                    $link_page = $config['http_home_url'] . $c_url . "/" . 'page,' . $news_page . ',';
                    $news_name = $row['alt_name'];
                
                } else {
                
                    $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";

                    if ($config['seo_control'] AND ( isset($_GET['seourl']) OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false ) ) {

                        if ($_GET['seourl'] != $row['alt_name'] OR (isset($_GET['seocat']) AND $_GET['seocat']) OR (isset($_GET['news_name']) AND $_GET['news_name']) OR strpos ( $_SERVER['REQUEST_URI'], "?" ) !== false OR (isset($_GET['news_page']) AND $_GET['news_page'] == 1 AND $cstart < 2 AND $view_template != "print") OR ($view_template == "print" AND $news_page > 1) ) {

                            $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");

                        }

                    }

                    $print_link = $config['http_home_url'] . "print:page,1," . $row['id'] . "-" . $row['alt_name'] . ".html";
                    $short_link = $config['http_home_url'];
                    $row['alt_name'] = $row['id'] . "-" . $row['alt_name'];
                    $link_page = $config['http_home_url'] . 'page,' . $news_page . ',';
                    $news_name = $row['alt_name'];
                
                }
engine/modules/show.short.php
PHP:
if( $config['seo_type'] == 1 OR $config['seo_type'] == 2  ) {
                
                if( $row['category'] and $config['seo_type'] == 2 ) {

                    $cats_url = get_url( $row['category'] );
                    
                    if($cats_url) {
                        
                        $full_link = $config['http_home_url'] . $cats_url . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
                        
                    } else $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";
                
                } else {
                    
                    $full_link = $config['http_home_url'] . $row['id'] . "-" . $row['alt_name'] . ".html";
                
                }
            
            } else {
                
                $full_link = $config['http_home_url'] . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
            }

engine/classes/google.class.php
PHP:
if( $config['seo_type'] == 1 OR  $config['seo_type'] == 2 OR  $config['seo_type'] == 3 ) {
                    
                    if( $row['category'] and $config['seo_type'] == 2 ) {
                        
                        $cats_url = get_url( $row['category'] );
                        
                        if($cats_url) {
                            
                            $loc = $this->home . $cats_url . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
                            
                        } else $loc = $this->home . $row['id'] . "-" . $row['alt_name'] . ".html";
                    
                    } else {
                        
                        $loc = $this->home . $row['id'] . "-" . $row['alt_name'] . ".html";
                    
                    }
 
                      if( $row['category'] and $config['seo_type'] == 3 ) {
                        
                        $cats_url = get_url( $row['category'] );
                        
                        if($cats_url) {
                            
                            $loc = $this->home . $cats_url . "/" . $row['alt_name'] . ".html";
                            
                        } else $loc = $this->home . "/" . $row['alt_name'] . ".html";
                    
                    }
                
                } else {
                    
                    $loc = $this->home . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
                }
 
Последнее редактирование:
Очень понравилось так сделать у себя, протестировал на 15.2

В ситемап ссылки виде https://skripters.biz/https://skripters.biz/forum/threads/50972/

Остальное всё в порядке вроде.

p.s. Действиях в файле engine/classes/google.class.php

PHP:
if( $config['seo_type'] == 1 OR  $config['seo_type'] == 2 OR  $config['seo_type'] == 3 ) {
                   
                    if( $row['category'] and $config['seo_type'] == 2 ) {
                       
                        $cats_url = get_url( $row['category'] );
                       
                        if($cats_url) {
                           
                            $loc = $this->home . $cats_url . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";
                           
                        } else $loc = $this->home . $row['id'] . "-" . $row['alt_name'] . ".html";
                   
                    } else {
                       
                        $loc = $this->home . $row['id'] . "-" . $row['alt_name'] . ".html";
                   
                    }

                      if( $row['category'] and $config['seo_type'] == 3 ) {
                       
                        $cats_url = get_url( $row['category'] );
                       
                        if($cats_url) {
                           
                            $loc = $this->home . $cats_url . "/" . $row['alt_name'] . ".html";
                           
                        } else $loc = $this->home . "/" . $row['alt_name'] . ".html";
                   
                    }
               
                } else {
                   
                    $loc = $this->home . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
                }

наверное лишние home . или я ошибаюсь?
а у тебя случаем не остался файла на 15.2 версию
 
engine/classes/google.class.php
PHP:
if( $config['seo_type'] == 1 OR $config['seo_type'] == 2 OR $config['seo_type'] == 3 ) {

if( $row['category'] and $config['seo_type'] == 2 ) {

$cats_url = get_url( $row['category'] );

if($cats_url) {

$loc = $this->home . $cats_url . "/" . $row['id'] . "-" . $row['alt_name'] . ".html";

} else $loc = $this->home . $row['id'] . "-" . $row['alt_name'] . ".html";

} else {

$loc = $this->home . $row['id'] . "-" . $row['alt_name'] . ".html";

}

if( $row['category'] and $config['seo_type'] == 3 ) {

$cats_url = get_url( $row['category'] );

if($cats_url) {

$loc = $this->home . $cats_url . "/" . $row['alt_name'] . ".html";

} else $loc = $this->home . "/" . $row['alt_name'] . ".html";

}

} else {

$loc = $this->home . date( 'Y/m/d/', $row['date'] ) . $row['alt_name'] . ".html";
}
Чет с этим вот вопрос, в 15.2 нет такого параметра
 
Чет с этим вот вопрос, в 15.2 нет такого параметра
 
Я это видел, что странно это то что там даже нет похожей строки
1699347212139
 
на dle 17.2 есть кто возьмется поправить, в частности обработку неверных url при включенной опции!?)
 
На дворе скоро 25-тый год. Люди до сих пор думают, что ЧПУ как-то влияет на выдачу?
 
Ну хотя бы не паблик шаблон, копипаст контент и минимальная оптимизация сайта. Если мы про xdvizh[dot]online говорим, судя по набору url-ок
не на столько гуру в этой области, по этому потихоньку вникаю, контент через ии, а что не так с url ? и как Вы узнали о каком сайте идет речь ?) если не секрет
 
Давно искал.
 
Вдруг кому будет полезно, если ЧПУ начинается с цифры к примеру "site.ru/2012-film.html", то будет редирект на другую новость, такое случилось на DLE 17.1, а так полет нормальный.
 
Вдруг кому будет полезно, если ЧПУ начинается с цифры к примеру "site.ru/2012-film.html", то будет редирект на другую новость, такое случилось на DLE 17.1, а так полет нормальный.
Отключите обработку неверных ЧПУ и не будет редиректа
 
хорошо, а если нужно сменить ЧПУ, то 301 редиректа на измененную страницу получаеться не будет ?
Если делать ЧПУ без ID, то не будет работать обработка не верных ЧПУ, так как обработка идёт по ID, который состоит из цифр
 

Пользователи, просматривающие данную тему

Верх