URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 20719
[ Назад ]

Исходное сообщение
"Хитрый редирект или Rewrite Rule"

Отправлено Vasily , 15-Сен-02 12:21 
Hi гуру !!!!
У меня есть два сервака с IP: 111.111.111.111 и 222.222.222.222
на обоих стоят Apache
хочу сделать так, что б при запросе
http://111.111.111.111/second/test.php
запрос на самом деле перенаправлялся к
http://222.222.222.222/test.php и потом результат валился в броузер, так как будто выполнился скрипт http://111.111.111.111/second/test.php, а клиент об этом даже не подозревал.
Как это можно сделать ? Дайте, пожалуйста, все возможные варианты.
первое, что мне прошло на ум - RewriteEngine, но как ?
И ещё хотелось бы добиться такого эффекта на этапе сборки вебсервера и вкомпилить эту возможность жёстко туда.

с уважением,
василий


Содержание

Сообщения в этом обсуждении
"RE: Хитрый редирект или Rewrite Rule"
Отправлено Booter , 15-Сен-02 16:11 

>Как это можно сделать ? Дайте, пожалуйста, все возможные варианты.
>первое, что мне прошло на ум - RewriteEngine, но как ?

Документацию почитать, это не сложно

>И ещё хотелось бы добиться такого эффекта на этапе сборки вебсервера и
>вкомпилить эту возможность жёстко туда.

А оно надо? Вдруг потом резко приспичит поменять что-то...

А можно еще так - http://222.222.222.222/test.php
<?
    readfile("http://111.111.111.111/second/test");
?>


"RE: Хитрый редирект или Rewrite Rule"
Отправлено Vasily , 15-Сен-02 17:11 
>>И ещё хотелось бы добиться такого эффекта на этапе сборки вебсервера и
>>вкомпилить эту возможность жёстко туда.
>
>А оно надо? Вдруг потом резко приспичит поменять что-то...

надо :-) а если приспичит поменять, то можно и пересобрать, но вааще т приспичить не должно :-)

>А можно еще так - http://222.222.222.222/test.php
><?
>    readfile("http://111.111.111.111/second/test");
>?>

этот вариант однозначно не подходит, т.к. это только пример, и в каждом файле такую шнягу лепить не здорово :-)

может кто ещё подкинет пару идей !!!!

с уважением,
василий



"RE: Хитрый редирект или Rewrite Rule"
Отправлено Vasily , 15-Сен-02 17:44 
>
>>Как это можно сделать ? Дайте, пожалуйста, все возможные варианты.
>>первое, что мне прошло на ум - RewriteEngine, но как ?
>
>Документацию почитать, это не сложно

Да вроде читал, но так и не нашёл как сделать так, что бы в строке броузера по прежнему отображался ip 111.111.111.111
дело в том что правило
RewriteRule /second/(.*) http://222.222.222.222/$1 [R[=code]]
влечёт за собой ответ сервера 300-305 а следовательно URI документа изменяется на новый. А мне надо что бы в броузере по прежнему оставался URL, введённый пользователем, т.е. http://111.111.111.111/second/test.php

Скажите, это вообще с помощью RewriteEngine реально или нет ?
Может я всё же чего то там не дочитал или не допонял... помогите, пожалуйста.

С Уважением,
Василий



"RE: Хитрый редирект или Rewrite Rule"
Отправлено Booter , 15-Сен-02 20:33 
>Скажите, это вообще с помощью RewriteEngine реально или нет ?
>Может я всё же чего то там не дочитал или не допонял...
>помогите, пожалуйста.

Есть жуткое подозрение, что тут нужет не mod_rewrite, а еще какой-то еще. Или же опять извращатся - заворачивать все запросы на данный урл на одну программку, которая в зависимости от требуемого файла таскает их с другого сервера по примеру, написанному выше... :)


"RE: Хитрый редирект или Rewrite Rule"
Отправлено Booter , 15-Сен-02 21:20 
>>Скажите, это вообще с помощью RewriteEngine реально или нет ?
>>Может я всё же чего то там не дочитал или не допонял...
>>помогите, пожалуйста.
>
>Есть жуткое подозрение, что тут нужет не mod_rewrite, а еще какой-то еще.
>Или же опять извращатся - заворачивать все запросы на данный урл
>на одну программку, которая в зависимости от требуемого файла таскает их
>с другого сервера по примеру, написанному выше... :)

Итак, рецепты:
- через mod-rewrite

RewriteEngine  on
RewriteBase    /~quux/
RewriteRule    ^hotsheet/(.*)$  http://www.tstimpreso.com/hotsheet/$1  [P]

-через mod-proxy

   ProxyPass         /mirror/foo/ http://foo.com/
   ProxyPassReverse  /mirror/foo/ http://foo.com/

А теперь осталось только попробовать...


"RE: Хитрый редирект или Rewrite Rule"
Отправлено Vasily , 16-Сен-02 01:58 
>Итак, рецепты:
>- через mod-rewrite
>
>RewriteEngine  on
>RewriteBase    /~quux/
>RewriteRule    ^hotsheet/(.*)$  http://www.tstimpreso.com/hotsheet/$1

этот вообще то подходит :-) спасибо... даже работает, но mod_proxy required :-)
только я никогда не собирал apache --enable-module=proxy надо будет разобраться как его настроить что б для себя было безопасно :-)

>-через mod-proxy
>
>   ProxyPass        
>/mirror/foo/ http://foo.com/
>   ProxyPassReverse  /mirror/foo/ http://foo.com/
>
>А теперь осталось только попробовать...


Спасибо,
С Уважением,
Василий
ну второе чё та я пока не совсем понимаю.


"RE: Хитрый редирект или Rewrite Rule"
Отправлено Vasily , 16-Сен-02 02:07 
>>Итак, рецепты:
>>- через mod-rewrite
>>
>>RewriteEngine  on
>>RewriteBase    /~quux/
>>RewriteRule    ^hotsheet/(.*)$  http://www.tstimpreso.com/hotsheet/$1
>
>этот вообще то подходит :-) спасибо... даже работает, но mod_proxy required :-)
>
>только я никогда не собирал apache --enable-module=proxy надо будет разобраться как его
>настроить что б для себя было безопасно :-)

ну вот и первый вопрос:
как сделать так, что бы запросы через мой proxy можно было отсылать только к 222.222.222.222, а ко всем остальным было 403  ?


"RE: Хитрый редирект или Rewrite Rule"
Отправлено Booter , 16-Сен-02 09:30 
>ну вот и первый вопрос:
>как сделать так, что бы запросы через мой proxy можно было отсылать
>только к 222.222.222.222, а ко всем остальным было 403  ?
>
А вот теперь точно к докам, ибо два предыдущих примера я нарыл именно там. :)