406 ошибка. Что за зверь?

Тема в разделе "Русские поисковики", создана пользователем saidxxx, 24 мар 2009.

Статус темы:
Закрыта.
  1. saidxxx

    saidxxx

    Регистр.:
    6 фев 2007
    Сообщения:
    496
    Симпатии:
    154
    Сайт не индексируется Яшей, написал Платону.


    Ответ:

    Что за ошибка такая и как ее разрулить?
     
  2. best

    best

    Регистр.:
    12 апр 2006
    Сообщения:
    246
    Симпатии:
    54
  3. AleXSuS

    AleXSuS

    Регистр.:
    27 фев 2009
    Сообщения:
    195
    Симпатии:
    55
    Если ваш php-скрипт начинает выдавать 406-ую ошибку (точнее не сам скрипт, а apache) со словами “An appropriate representation of the requested resource /***.php could not be found on this server”, то скорее всего apacheвскому mod_security что-то не нравится в вашем скрипте.

    Например, ваш скрипт может принимать в качестве параметра какие-нибудь URLы, а mod_security будет думать, что злобный хакер пытается выполнить remode code injection. Или ещё что-нибудь.

    Если вы уверены в своём скрипте, то можно попробовать отключить mod_security. Проще всего это сделать, добавив две директивы в .htaccess:
    SecFilterEngine Off
    SecFilterScanPOST Off

    Если не получается отрубить mod_security с помощью .htaccess, отключайте его с помощью httpd.conf.

    Если это не разрешает сделать админ или ваша религия, то читайте логи (типа такого: [mod_security: Access denied with code 406. Pattern match “\\\\.php(3|4|5)?(\\\\?|&).*=(ht|f)tps?:/.*(\\\\?|&) ” at REQUEST_URI [id “300018″] [rev “1″] [msg “Generic PHP code injection protection”] [severity “CRITICAL”] …]) и модифицируйте скрипт таким образом, чтоб он не вызывал подозрений у mod_security.


    Суть дела в том, что addurl передает в заголовке http-запроса Accept: text/html (основной робот яндекса - чуть больше форматов), что и приводит к выдаче 406-й ошибки неправильно настроенными http-серверами, которые на каком-то этапе думают, что не могут отдать html-документ.
     
    saidxxx нравится это.
Статус темы:
Закрыта.