Скрыть объявление
ВАШИ ПРАВА ОГРАНИЧЕНЫ!

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

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

Тема в разделе "Вопросы- ответы", создана пользователем Sasha K-G, 7 июн 2016.

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

    Sasha K-G Guest

    Регистрация:
    27 авг 2015
    Сообщения:
    1.154
    Лучших ответов:
    0
    Рейтинги:
    +392 / 0 / -0
    Привет. Помогите, пожалуйста, настроить 404 страницу на DLE на несуществуюищх категориях. Прописал в engine код
    Код:
    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.
    Если вписать код
    Код:
    if (!$category_id) $category_id = 'not detected';
    
    То получается как будто пустая стат. страница без кода 404.

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

    Забанен

    Регистрация:
    17 июл 2015
    Сообщения:
    6.992
    Лучших ответов:
    6
    Рейтинги:
    +2.000 / 141 / -0
    я так делал 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

    Забанен

    Регистрация:
    26 май 2016
    Сообщения:
    1.079
    Лучших ответов:
    0
    Рейтинги:
    +363 / 0 / -0
    А ты путь к стилям в 404 как прописал?
     
  4. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Регистрация:
    27 авг 2015
    Сообщения:
    1.154
    Лучших ответов:
    0
    Рейтинги:
    +392 / 0 / -0
    Что?
     
  5. Skuchniy

    Забанен

    Регистрация:
    26 май 2016
    Сообщения:
    1.079
    Лучших ответов:
    0
    Рейтинги:
    +363 / 0 / -0
    Тебе нужно что бы с несуществующих категорий, перекидывало на 404 страницу так ?
     
  6. grandmaster89

    Команда форума VIP Кинотрафик v2

    Регистрация:
    26 сен 2015
    Сообщения:
    246
    Лучших ответов:
    0
    Рейтинги:
    +73 / 0 / -0
    Создай в корневой папке сайта страницу 404.html, со своим содержанием и все!) Шаблон страницы можешь в сети скачать, их много есть...
     
  7. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Регистрация:
    27 авг 2015
    Сообщения:
    1.154
    Лучших ответов:
    0
    Рейтинги:
    +392 / 0 / -0
    Ну либо просто ошибку выдавало 404 и была ссылка на главную.

    Вот так прописано в show.full и всё работает отлично
    Код:
    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

    Забанен

    Регистрация:
    26 май 2016
    Сообщения:
    1.079
    Лучших ответов:
    0
    Рейтинги:
    +363 / 0 / -0
    Ну так человек правильно говорит, тебе нужно создать 404.html, засунуть в корень сайта. И оформить данную 404.html, как тебе хочеться.
     
  9. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Регистрация:
    27 авг 2015
    Сообщения:
    1.154
    Лучших ответов:
    0
    Рейтинги:
    +392 / 0 / -0
    Но show.full работает без 404.html страницы
     
  10. grandmaster89

    Команда форума VIP Кинотрафик v2

    Регистрация:
    26 сен 2015
    Сообщения:
    246
    Лучших ответов:
    0
    Рейтинги:
    +73 / 0 / -0
    Это типа выдает сообщение "
    По данному адресу публикаций на сайте не найдено
    "?
     
  11. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Регистрация:
    27 авг 2015
    Сообщения:
    1.154
    Лучших ответов:
    0
    Рейтинги:
    +392 / 0 / -0
    Да, всё верно и код 404 идёт.
     
  12. Skuchniy

    Забанен

    Регистрация:
    26 май 2016
    Сообщения:
    1.079
    Лучших ответов:
    0
    Рейтинги:
    +363 / 0 / -0
    Так это вроде не 404 ошибка, и она идет стандартом в dle.
     
  13. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Регистрация:
    27 авг 2015
    Сообщения:
    1.154
    Лучших ответов:
    0
    Рейтинги:
    +392 / 0 / -0
    Ну как такое-же замутить для категорий?
     
  14. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Регистрация:
    27 авг 2015
    Сообщения:
    1.154
    Лучших ответов:
    0
    Рейтинги:
    +392 / 0 / -0
    Я проверил, сайт отдаёт 404 на таких страницах.
     
  15. grandmaster89

    Команда форума VIP Кинотрафик v2

    Регистрация:
    26 сен 2015
    Сообщения:
    246
    Лучших ответов:
    0
    Рейтинги:
    +73 / 0 / -0
    Сделай вместо этого ошибу 404.
    Для этого:
    Открываем /engine/modules/main.php, находим код :
    Код:
    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'] );
    
    }
    Меняем на:
    Код:
    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

    Забанен

    Регистрация:
    26 май 2016
    Сообщения:
    1.079
    Лучших ответов:
    0
    Рейтинги:
    +363 / 0 / -0
  17. grandmaster89

    Команда форума VIP Кинотрафик v2

    Регистрация:
    26 сен 2015
    Сообщения:
    246
    Лучших ответов:
    0
    Рейтинги:
    +73 / 0 / -0
  18. TopicStarter Overlay
    Sasha K-G

    Sasha K-G Guest

    Регистрация:
    27 авг 2015
    Сообщения:
    1.154
    Лучших ответов:
    0
    Рейтинги:
    +392 / 0 / -0
    Да я делал уже по этому способу, этот код у меня в первом посте. Выдаёт пустую страницу (белую).
    Как сделать чтобы ошибка по нормальному высвечивалась без создания 404.html ?
     
  19. Skuchniy

    Забанен

    Регистрация:
    26 май 2016
    Сообщения:
    1.079
    Лучших ответов:
    0
    Рейтинги:
    +363 / 0 / -0
    Можно сделать также редирект, на главную. Но геймер считает лучше 404.
     
  20. grandmaster89

    Команда форума VIP Кинотрафик v2

    Регистрация:
    26 сен 2015
    Сообщения:
    246
    Лучших ответов:
    0
    Рейтинги:
    +73 / 0 / -0
    Ну по идее правильнее будет когда 404.html отдавать будет. Хотя я не специалист. Если вам нужно обратно сделать как было поменяйте этот код на старый, как раньше было и все.
     
Яндекс.Метрика