За последние 24 часа нас посетил 17771 программист и 1718 роботов. Сейчас ищут 944 программиста ...

выдает 200 при любом запросе

Тема в разделе "Прочие вопросы по PHP", создана пользователем demian, 20 ноя 2014.

  1. demian

    demian Новичок

    С нами с:
    20 ноя 2014
    Сообщения:
    1
    Симпатии:
    0
    Доброго утра,
    есть .htaccess
    Код (Text):
    1. Order Deny,Allow
    2. Allow from all
    3.  
    4. AddDefaultCharset utf-8
    5. Options -Indexes
    6.  
    7. DirectoryIndex index.php
    8.  
    9. RewriteEngine On
    10.  
    11. RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR]
    12. RewriteCond %{QUERY_STRING} (<|%3C)([^s]*s)+cript.*(>|%3E) [NC,OR]
    13. RewriteCond %{QUERY_STRING} GLOBALS(=|\[|\%[0-9A-Z]{0,2}) [OR]
    14. RewriteCond %{QUERY_STRING} _REQUEST(=|\[|\%[0-9A-Z]{0,2})
    15. RewriteRule .* index.php [F]
    16.  
    17. RewriteCond %{REQUEST_URI} !^/index\.php
    18. RewriteCond %{REQUEST_FILENAME} !-f
    19. RewriteCond %{REQUEST_FILENAME} !-d
    20. RewriteRule .* index.php [L]
    в таком виде любой запрос отдает заголовок 200, даже если файл не существует
    даже если я в индекс.пхп обрабатываю запрос, при отсутствии нужного выдаю
    Код (Text):
    1. header( "HTTP/1.1 404 Not Found" );
    то ответ сервера все равно 200

    почему? как принудительно сменить заголовок?..
    спасибо заранее
     
  2. Ganzal

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

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    в чем глубокий смысл делать редирект к индексу если сработает внутренний механизм запрета запроса? . - (точка минус) для таких случаев. то есть рерайта не произойдет, а по флагу сработает обработчик статуса 403.

    попробуйте для начала запихнуть 404 в реализацию 1.0 протокола. во-вторых без исходника сложно понять как у вас скрипт со статусом работает. статус он может быть только один. соответственно вы ставите 404 а потом где-то дальше вы же опять выставляете 200. в поток пойдет последний.
     
  3. artoodetoo

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

    С нами с:
    11 июн 2010
    Сообщения:
    11.131
    Симпатии:
    1.250
    Адрес:
    там-сям
    вангую, что у автора есть нежелательный вывод ДО header() и поэтому он не срабатывает.
    обычно это
    - либо BOM,
    - либо в конце подключаемого файла "?>" и после него пустая строка,
    - либо вываливается какой-то Warning на который автор х забил.