On Thu, 6 Dec 2001, Dmitry Katsubo wrote:
> У меня к уважаемым подписчикам т.ж. вопрос: нужно написать
>
> redirect с abc.jim.iv на abc.eug.iv. Вариант
>
> RewriteRule ^http://(.*)\.jim\.iv/(.*)$ http://$1.eug.iv/$2
>
>
> не работает - http://abc.jim.iv/ не передаётся в RewriteRule :-((.
> Есть предложения? Хоть как-нибудь... :-((
>
> Спасибо.
>
> PS В Rewriting Guide (пример 'Reverse Dynamic Mirror') есть вот что:
>
>
> RewriteEngine on
> RewriteCond /mirror/of/remotesite/$1 -U
> RewriteRule ^http://www\.remotesite\.com/(.*)$ /mirror/of/remotesite/$1
>
> Как тогда их пример работает?
Вообще в левой части RewriteRule, если не предпринимать никаких
телодвижений, может быть только r->uri. r->uri в виде http://
может быть, если mod_proxy используют в качестве стандартного прокси.
В фазе post-read оно точно такое. В фазе трансляции (то есть когда
mod_rewrite начинает работать) - не уверен, но, видимо, тоже.
Их пример работает в случае, когда в броузере в качестве прокси
указан Апач, тогда при обращении к www.remotesite.com Апач
не будет ходить туда, а отдаст всё с локального зеркала.
Что касается редиректа, то имя хоста нужно искусствено добавлять к r->uri:
RewriteCond %{HTTP_HOST} ^[^.]+\.jim\.lv$
RewriteRule ^(.+) %{HTTP_HOST}$1 [C]
RewriteRule ^(.*)\.jim\.iv/(.*)$ http://$1.eug.iv/$2 [R,L]
Игорь Сысоев
=============================================================================
= 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" 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.