Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

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

Re: [apache-talk] 404 -> 200



On Sun, 22 Jul 2001, Vsevolod Melnikov wrote:

> > > Не подскажет ли кто, как заставить Апач вместо кода возврата 404 отдавать
> > > другой код, например, 200?
> > 
> > Можно попробовать перенаправлять ErrorDocument'ом на cgi,
> > который бы выдавал примерно такое:
> > 
> > Status: 200 OK
> 
> Я тут с этой строкой поигрался и вот чего не понимаю - что это за строка,
> в смысле слова Status? Дело в том, что я не смог найти Status  и
> его описания в RFC 2616 (который описывает HTTP 1.1). Ни хедера такого
> вроде бы нет, ни в ответе сервера это слово не описано.

Ну, как тут не раз написали, к HTTP это не иммет отношения.
Это лишь способ передать статус из CGI в Апач. Если используется mod_perl,
то статус ставиться через r->status(HTTP_OK) или
через r->status_line("200 OK").
В php, возможно, через header() - про него я ничего не знаю.

> > Content-Type: text/html
> 
> Собственно, на этой машине стоит Апач со встроенным PHP 4.x. До написания
> письма я пытался код возврата изменить функцией header, но не вышло. А
> сейчас свежим взглядом посмотрел и написал header("HTTP/1.1 200 OK");
> и все получилось. На самом деле было интересно почитать пример скрипта,
> а то я было тоже подумал, что тут сделать ничего нельзя. И про META было
> тоже интересно.

Про мету я не в курсе.

> > Только вот зачем ?
> 
> Гм, наверное и правда стоит описать проблему. У нас есть ряд сайтов,
> которые используют обработчик 404-ой ошибки, причем не только для того
> чтобы сказать "А нету такого файла", но и для показа полноценного
> документа сайта. Например, пришел запрос на www.company.ru/about/ и
> каталога about в природе нет, а обработчик 404-ой ошибки подсовывает
> клиенту полноценную страничку с информацией о компании или о чем там
> нужно.

Ну в этом случае, может быть, лучше по таким ссылкам расположить
реальную информацию ?

> Другой аспект этой проблемы такой. Зашел я как-то в начале месяца в МЭИ и
> случайно народ решил посмотреть на пару наших сайтов. Я смотрю, а страницы
> с 404-ой ошибкой не показывается. Чего и почему - неизвестно, но я
> предположил, что местный прокси так настроен. А узнать про это подробнее
> тогда я не смог, ибо смотрели с клиентской машины и как там устроена сеть
> никто просто не знал.

Я думаю, такие кривые конфигурации нельзя поощрять, подстраиваясь под них.

> Третий аспект проблемы - это индексация с помощью ЯndexSite. Как он видит
> код 404, так и не индексирует. Что иногда очень огорчает.

Ну а какой смысл индексировать несуществующие старницы :)?

> Вот. А еще тут народ высказал мнение, что это все надо решать с
> применением mod_rewrite. Правильно ли это? С mod_rewrite случая
> разобраться не было, но может это и правда наиболее правильное решение?

Често говоря, навскидку мне в голову не приходит решение с помощью
mod_rewrite. Вообще же, мой опыт общения с mod_rewrite говорит о том,
что в большинстве случаев его можно успешно применять, только если
хорошо представляешь себе потроха Апачи и особенности реагирования
тех или иных модулей на mod_rewrite.

Игорь Сысоев

=============================================================================
=               Apache-Talk@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.