ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 

  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА














     АРХИВ :: Apache-Talk
Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Re[2]: [apache-talk] Disabling 404 | how?




Eldar Kononov.

/*
 * Barba crescit caput nescit
 */

On Sun, 4 May 2003, Igor Sysoev wrote:

+|>
+|>On Sun, 4 May 2003, joo wrote:
+|>
+|>> 04.05.2003 в 11:17 Вы писали:
+|>>
+|>> A> Да проблема в том, что мы написали такую штуку на PHP, которая по
+|>> A> URL-адресам, которых на самом деле нет, от дает нужные страницы,
+|>> A> например:
+|>> A> Обращается клиентпо адресам:
+|>> A> http://domain.ru/beer/klinskoye/
+|>> A> http://domain.ru/beer/zhigulyovskoye/
+|>> A> А на самом деле директорий /beer/klinskoye/ и /beer/zhigulyovskoye/ не
+|>> A> существует и происходит 404-ка. А в .htaccess прописано:
+|>> A> ErrorDocument404 /beer/treater.php
+|>> A> treater.php -- это обработчик, который делает запрос к БД и отдаёт
+|>> A> нужную страничку.
+|>> A> А проблема в том, что клиенту то всё равно отдается 404-ка и
+|>> A> соответственно error_log у Апача весь засорен 404-ками!!!
+|>>
+|>> А если в PHP сначала отдавать заголовок 200,
+|>> а уже затем страничку?
+|>
+|>Не поможет, 404 пишется в лог ещё до того, как вызывается ErrorDocument.
+|>

Если уж программисты придумали такой извращенный способ выдачи контента,
то предлагаю извращенный (и скорее теоретический) способ решения проблемы:

ErrorLog "| grep -v 'Not found' > domain-error_log"

В принципе, такой способ не столь и критичный, если нагрузка на сервер
небольшая.

А вообще, самым простым (как мне кажется) было бы в данном случае удалить
1 строку из http_core.c (которая вызывает ap_log_rerror),
после которой возвращается NOT_FOUND.



 




Copyright © Lexa Software, 1996-2009.