Dismiss Notice
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

Зарегистрируйтесь на форуме, чтобы стать полноценным участником сообщества!

Помогите с 404.html dle на несуществующих категориях

Discussion in 'Вопросы- ответы' started by Sasha K-G, Jun 7, 2016.

07.06.16 в 22:49
19.08.18 в 21:10
45
6,799
0
  1. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Messages:
    1,149
    Likes Received:
    392
    Best Answers:
    0
    Привет. Помогите, пожалуйста, настроить 404 страницу на DLE на несуществуюищх категориях. Прописал в engine код
    Code:
    if (!$category_id AND $view_template != "rss") {
        @header("HTTP/1.0 404 Not Found");
        @header("Status: 404 Not Found");
        @require_once($_SERVER['DOCUMENT_ROOT'].'/404.html');
        exit();
    }
    
    И начало выдавать пустую (чисто белую, без строчки кода) страницу с ответом сервера 404.
    Если вписать код
    Code:
    if (!$category_id) $category_id = 'not detected';
    
    То получается как будто пустая стат. страница без кода 404.

    Как всё нормально сделать?
     
  2. Romantv

    Romantv Забанен

    Messages:
    6,946
    Likes Received:
    1,815
    Best Answers:
    6
    я так делал flesha.ru/dle/fdle/5641-404-not-found-svoya-stranica-oshibki.html
    В файле "engine/modules/functions.php" ищем:
    function msgbox($title, $text) {
    global $tpl;


    Заменяем на:
    function msgbox($title, $text) {
    global $tpl, $lang;
    if( in_array('HTTP/1.0 404 Not Found', headers_list()) || $text == $lang['news_err_27'] ) {
    require_once ROOT_DIR.'/404.html';
    die();
    }else{
    $tplName = 'info.tpl';
    }
     
  3. Skuchniy

    Skuchniy Забанен

    Messages:
    1,077
    Likes Received:
    359
    Best Answers:
    0
    А ты путь к стилям в 404 как прописал?
     
  4. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Messages:
    1,149
    Likes Received:
    392
    Best Answers:
    0
    Что?
     
  5. Skuchniy

    Skuchniy Забанен

    Messages:
    1,077
    Likes Received:
    359
    Best Answers:
    0
    Тебе нужно что бы с несуществующих категорий, перекидывало на 404 страницу так ?
     
  6. grandmaster89

    grandmaster89 Staff Member VIP Кинотрафик v2

    Messages:
    243
    Likes Received:
    66
    Best Answers:
    0
    Создай в корневой папке сайта страницу 404.html, со своим содержанием и все!) Шаблон страницы можешь в сети скачать, их много есть...
     
  7. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Messages:
    1,149
    Likes Received:
    392
    Best Answers:
    0
    Ну либо просто ошибку выдавало 404 и была ссылка на главную.

    Вот так прописано в show.full и всё работает отлично
    Code:
    elseif( ! $news_found ) {
            @header("HTTP/1.0 404 Not Found");
            @header("Status: 404 Not Found");
            msgbox( $lang['all_err_1'], $lang['news_err_12'] );
        }
    
    Только с категориями беда.
     
  8. Skuchniy

    Skuchniy Забанен

    Messages:
    1,077
    Likes Received:
    359
    Best Answers:
    0
    Ну так человек правильно говорит, тебе нужно создать 404.html, засунуть в корень сайта. И оформить данную 404.html, как тебе хочеться.
     
  9. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Messages:
    1,149
    Likes Received:
    392
    Best Answers:
    0
    Но show.full работает без 404.html страницы
     
  10. grandmaster89

    grandmaster89 Staff Member VIP Кинотрафик v2

    Messages:
    243
    Likes Received:
    66
    Best Answers:
    0
    Это типа выдает сообщение "
    По данному адресу публикаций на сайте не найдено
    "?
     
  11. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Messages:
    1,149
    Likes Received:
    392
    Best Answers:
    0
    Да, всё верно и код 404 идёт.
     
  12. Skuchniy

    Skuchniy Забанен

    Messages:
    1,077
    Likes Received:
    359
    Best Answers:
    0
    Так это вроде не 404 ошибка, и она идет стандартом в dle.
     
  13. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Messages:
    1,149
    Likes Received:
    392
    Best Answers:
    0
    Ну как такое-же замутить для категорий?
     
  14. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Messages:
    1,149
    Likes Received:
    392
    Best Answers:
    0
    Я проверил, сайт отдаёт 404 на таких страницах.
     
  15. grandmaster89

    grandmaster89 Staff Member VIP Кинотрафик v2

    Messages:
    243
    Likes Received:
    66
    Best Answers:
    0
    Сделай вместо этого ошибу 404.
    Для этого:
    Открываем /engine/modules/main.php, находим код :
    Code:
    if( $_SERVER['QUERY_STRING'] AND !$tpl->result['content'] AND !$tpl->result['info'] AND !$custom_news) {
    
        @header( "HTTP/1.0 404 Not Found" );
        msgbox( $lang['all_err_1'], $lang['news_err_27'] );
    
    }
    Меняем на:
    Code:
    if( $_SERVER['QUERY_STRING'] AND !$tpl->result['content'] AND !$tpl->result['info'] AND !$custom_news)
    {
        @header("HTTP/1.0 404 Not Found");
        @header("Status: 404 Not Found");
        @require_once($_SERVER['DOCUMENT_ROOT'].'/404.html');
        exit();
    }
    Ну и останется создать в корне файл выше описанный и все должно работать нормально.
     
  16. Skuchniy

    Skuchniy Забанен

    Messages:
    1,077
    Likes Received:
    359
    Best Answers:
    0
  17. grandmaster89

    grandmaster89 Staff Member VIP Кинотрафик v2

    Messages:
    243
    Likes Received:
    66
    Best Answers:
    0
  18. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Messages:
    1,149
    Likes Received:
    392
    Best Answers:
    0
    Да я делал уже по этому способу, этот код у меня в первом посте. Выдаёт пустую страницу (белую).
    Как сделать чтобы ошибка по нормальному высвечивалась без создания 404.html ?
     
  19. Skuchniy

    Skuchniy Забанен

    Messages:
    1,077
    Likes Received:
    359
    Best Answers:
    0
    Можно сделать также редирект, на главную. Но геймер считает лучше 404.
     
  20. grandmaster89

    grandmaster89 Staff Member VIP Кинотрафик v2

    Messages:
    243
    Likes Received:
    66
    Best Answers:
    0
    Ну по идее правильнее будет когда 404.html отдавать будет. Хотя я не специалист. Если вам нужно обратно сделать как было поменяйте этот код на старый, как раньше было и все.