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



> EG> Есть ли возможность средствами самого апача одним клиентам отдавать URL,
> EG> а другим возвращать 404? Речь идет о статическом контенте и разделении
> EG> клиентов по IP в Apache 1.3.14. Обязательно ли для этого собирать Apache
> EG> с mod_rewrite (у меня он отключен) и изучать его доку?
> 
> Если необязательно отдавать ошибку в заголовке, а можно генерить
> страничку с сообщением о 404, то просто повесьте на ErrorDocument 404
> cgi-ку которая и будет делать выбор. В таком случае мод реврайт и
> ненужен вовсе.

Через cgi мне не подходит.
Есть DocumentRoot /usr/local/apache/data и есть контент в /hidden, это
вне DocumentRoot. Можно URL /hidden переписывать в дисковый путь /hidden
для некоторых адресов, а для остальных - не переписывать, они тогда получат
404.

Я попробовал так:

<Location /hidden>
RewriteEngine On
RedirectCond %{REMOTE_ADDR} regexp
RewriteRule ^/hidden(.*)$ /hidden$1
</Location>

Не работает, так как перед проверкой дописывает DocumentRoot к URL (1.3.14)
и RewriteRule не срабатывает. Пробую так:

<Location /hidden>
RewriteEngine On
RedirectCond %{REMOTE_ADDR} regexp
RewriteRule ^/usr/local/apache/data/hidden(.*)$ /hidden$1
</Location>

RewriteRule срабатывает, но делает internal redirect на /hidden,
которого нет внутри DocumentRoot. Если теперь добавить 
Alias /hidden /hidden
то все работает, но меня это не устраивает - можно получить контент,
запросив /hidden.

Получается, фактически RewriteRule отображает файл в URL, а мне
надо наоборот, как это Alias делает. 
Как?

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