On Fri, 20 Jul 2001, Igor Sysoev wrote:
>
> On Fri, 20 Jul 2001, Vsevolod Melnikov wrote:
>
> > Не подскажет ли кто, как заставить Апач вместо кода возврата 404 отдавать
> > другой код, например, 200?
>
> Можно попробовать перенаправлять ErrorDocument'ом на cgi,
> который бы выдавал примерно такое:
>
> Status: 200 OK
Я тут с этой строкой поигрался и вот чего не понимаю - что это за строка,
в смысле слова Status? Дело в том, что я не смог найти Status и
его описания в RFC 2616 (который описывает HTTP 1.1). Ни хедера такого
вроде бы нет, ни в ответе сервера это слово не описано.
> Content-Type: text/html
Собственно, на этой машине стоит Апач со встроенным PHP 4.x. До написания
письма я пытался код возврата изменить функцией header, но не вышло. А
сейчас свежим взглядом посмотрел и написал header("HTTP/1.1 200 OK");
и все получилось. На самом деле было интересно почитать пример скрипта,
а то я было тоже подумал, что тут сделать ничего нельзя. И про META было
тоже интересно.
> Только вот зачем ?
Гм, наверное и правда стоит описать проблему. У нас есть ряд сайтов,
которые используют обработчик 404-ой ошибки, причем не только для того
чтобы сказать "А нету такого файла", но и для показа полноценного
документа сайта. Например, пришел запрос на www.company.ru/about/ и
каталога about в природе нет, а обработчик 404-ой ошибки подсовывает
клиенту полноценную страничку с информацией о компании или о чем там
нужно.
Но вот как-то года полтора назад мне говорят - а под MSIE 5.x (чему равен
х я уже и не помню) показывается не результат работы обработчика,
а что-то вроде "this page can not be displayed". Но пока мы там смотрели,
в чем может быть дело, проблема сама собой рассосалась (причем на том
же клиентском компьютере). А потом за прошедшие полтора года изредка
кто-то на это жаловался. Последний человек был как раз в четверг. (Вообще,
отчего зависит - будет документ показан или нет? От фазы Луны?)
Другой аспект этой проблемы такой. Зашел я как-то в начале месяца в МЭИ и
случайно народ решил посмотреть на пару наших сайтов. Я смотрю, а страницы
с 404-ой ошибкой не показывается. Чего и почему - неизвестно, но я
предположил, что местный прокси так настроен. А узнать про это подробнее
тогда я не смог, ибо смотрели с клиентской машины и как там устроена сеть
никто просто не знал.
Третий аспект проблемы - это индексация с помощью ЯndexSite. Как он видит
код 404, так и не индексирует. Что иногда очень огорчает.
К слову, проблема с индексацией путем изменения кода возврата с 404 на 200
решилась. А вот остальные две - пока неизвестно. Только завтра можно будет
проверить.
Вот. А еще тут народ высказал мнение, что это все надо решать с
применением mod_rewrite. Правильно ли это? С mod_rewrite случая
разобраться не было, но может это и правда наиболее правильное решение?
Успехов,
Всеволод.
> Игорь Сысоев
>
> =============================================================================
> = Apache-Talk@lists.lexa.ru mailing list =
> Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
> = Archive avaliable at http://www.lexa.ru/apache-talk =
>
>
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =