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 Fri, 20 Jul 2001, Andrew Kopeyko wrote:

> > > Не подскажет ли кто, как заставить Апач вместо кода возврата 404 отдавать
> > > другой код, например, 200?
> > 
> > Можно попробовать перенаправлять ErrorDocument'ом на cgi,
> > который бы выдавал примерно такое:
> > 
> > Status: 200 OK
> > Content-Type: text/html
> 
> Это не поможет. Я уже наступал на эти грабли.

Поможет.

Делаем скрипт:
----
cat work/apache_1.3.20/cgi-bin/found 
#!/usr/bin/perl

print "Status: 200 OK\n";
print "Content-type: text/plain\n\n";

print "found\n";
----

Делаем хост:

<VirtualHost                    _default_:9007>
    ErrorDocument               404  /cgi-bin/found
</VirtualHost>

Просим урло:

----
nc localhost 9007
GET /hjrhtrjh HTTP/1.0

HTTP/1.1 200 OK
Date: Fri, 20 Jul 2001 08:56:00 GMT
Server: Apache/1.3.20 (Unix) mod_accel/1.0.0 rus/PL30.5
Connection: close
Content-Type: text/plain

found
----

Имеем в access_log:
127.0.0.1 - [20/Jul/2001:12:56:00 +0400] "GET /hjrhtrjh HTTP/1.0" 200
6 0 9007 "-" "-" "-" "-"

Имеем в error_log:
[Fri Jul 20 12:56:00 2001] [error] [client 127.0.0.1] File does
not exist: /home/is/work/mod_accel/work/apache_1.3.20/htdocs/hjrhtrjh

> Апач уже сформировал заголовки ответа, и вызывает cgi-шку (указанную в
> ErrorDocument) чтобы получить тело ответа. Любые заголовки, выставляемые
> этой cgi - игнорируются.

> Мне приходилось в теле ответа выдавать meta-http заголовок "Refresh=5;
> ulr=bla-bla" чтобы отправить клиента на страницу с кодом ответа 200. Так я
> лечил кривые ссылки с сайтов партнеров на нас.

Это напрасно.

Игорь Сысоев

=============================================================================
=               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.