За последние 24 часа нас посетили 54010 программистов и 1648 роботов. Сейчас ищут 1122 программиста ...

Не отображается страница с ошибкой 404

Тема в разделе "PHP для новичков", создана пользователем zevilz, 4 дек 2013.

  1. zevilz

    zevilz Активный пользователь

    С нами с:
    14 июн 2010
    Сообщения:
    182
    Симпатии:
    0
    .htaccess настроен для страницы 404. При вводе некорректного url на странице отображается содержимое страницы ошибки 404:
    Код (Text):
    1. ErrorDocument 404 /errors/404.php
    На страницах с контентом идет выборка данных по ID из базы:
    Код (Text):
    1. $result_item = mysql_query ("SELECT * FROM items WHERE id='$id'",$db);
    и далее идет проверка:
    Код (Text):
    1. if (mysql_num_rows($result_item) > 0) {$item = mysql_fetch_array ($result_item);}
    2. else {
    3. header('HTTP/1.1 404 Not Found');
    4. exit();
    5. }
    браузеру приходит ответ от сервера - 404, но страница пустая и моя страница ошибки не отображается.
    Можно, конечно, сделать так:
    Код (Text):
    1. header('Location: /errors/404.php');
    но мне кажется это не очень верно, т.к. в случае неправильного ввода url, страница никуда не переадресовывается, а выводится моя страница с ошибкой. Как здесь поступить? Заранее спасибо за ответы.
     
  2. artoodetoo

    artoodetoo Суперстар
    Команда форума Модератор

    С нами с:
    11 июн 2010
    Сообщения:
    11.128
    Симпатии:
    1.248
    Адрес:
    там-сям
    Похоже это никак не сделать. Apache не проверяет статус ответа после обработки в PHP, соответственно уже не использует ErrorDocument.
    Можно только самому трюкачить