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