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

Исходное сообщение
"Возможно ли такое с mod_rewrite"

Отправлено Романыч , 06-Май-04 14:56 
Доброго времени суток, господа.

Возникла вот такая вот потребность: есть 2 виртуальных хоста XXXX.com и XXXX.biz к примеру. Возможно ли следующее: при заходе на XXXX.biz, я на самом деле попадаю на XXXX.com, при этом внешне я никак не вижу что я на *.com, т.е. происходит не редирект, а подмена контента, ну или DocumentRoot другими словами. Все ссылки на *.com у меня относительные.

Вопрос похоже пустяковый, но, блин никак не могу побороть; редирект делается, а дальше все ссылки идут относительно XXXX.com, а хотелось бы, чтобы посетитель сайта никоим образом не подозревал, что на самом деле контент берется с др. сайта.

Спасибо.


Содержание

Сообщения в этом обсуждении
"Возможно ли такое с mod_rewrite"
Отправлено dev , 06-Май-04 16:24 
Если это два виртуальных хоста одного Апача, то просто допиши алиас, mod_rewrite здесь не нужен.

"Возможно ли такое с mod_rewrite"
Отправлено Романыч , 06-Май-04 18:54 
>Если это два виртуальных хоста одного Апача, то просто допиши алиас, mod_rewrite
>здесь не нужен.

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


"Возможно ли такое с mod_rewrite"
Отправлено dev , 06-Май-04 23:42 
>>Если это два виртуальных хоста одного Апача, то просто допиши алиас, mod_rewrite
>>здесь не нужен.
>
>Так оно и есть :)
>Загвоздка в том, что определение всех виртуальные хостов хранится в регенерируемом файле.
>Так что править там что-либо ручками бессмысленно. Наиболее подходящий способ -
>это mod_rewrite для двух конкретных доменов, если он поможет :(

Если нужно только для нескольких хостов посмотри про mod_proxy -> ProxyPass.
Если надо массово, то используй флаг [P] у RewriteRule. Только он требует прокси.

Когда все настроишь поставь в своем браузере XXXX.com:80 как прокси и походи по Инету. Сделай выводы :)


"Возможно ли такое с mod_rewrite"
Отправлено Романыч , 07-Май-04 15:50 
>Если нужно только для нескольких хостов посмотри про mod_proxy -> ProxyPass.
>Если надо массово, то используй флаг
>
> у RewriteRule. Только он требует прокси.
>
>Когда все настроишь поставь в своем браузере XXXX.com:80 как прокси и походи
>по Инету. Сделай выводы :)

Спасибо за совет. Почитал про mod_proxy, тока он не включен в Апаче, я не админ, потому это надо дергать человека, а все алмины как известно упертые люди :) "зачем", "а без этого нельзя?" и т.д :) Немного недопонял что значит "Только он требует прокси." для [P] флага, это особая настройка прокси сервера какая-то под этот модуль апача?

Сейчас имею следущее: .htaccess для YYYY.com
RewriteEngine on
RewriteBase /
RewriteRule ^(.*)$  http://www.XXXX.com/$1  [P]

Error log для YYYY.com
[Fri May  7 07:23:08 2004] [error] [client aaa.bbb.ccc.ddd] File does not exist: proxy:http://www.XXXX.com/

Вижу слово proxy, но практически ничего в этом не соображаю :(

Спасибо. И прошу прощения за назойливость.


"Возможно ли такое с mod_rewrite"
Отправлено dev , 07-Май-04 16:59 
>Почитал про mod_proxy, тока он не включен в Апаче,
>я не админ, потому это надо дергать человека, а все алмины
>как известно упертые люди :) "зачем", "а без этого нельзя?" и
>т.д :) Немного недопонял что значит "Только он требует прокси." для
> [P] флага, это особая настройка прокси сервера какая-то под этот модуль апача?

Он не работает без этого самого mod_proxy :)
Т.е. mod_proxy надо включать в любом случае.

Только вариант с rewrite [P] более опасен, чем ProxyPass - любой желающий сможет серфить через тебя по всему Инету. Админ на такое никогда не пойдет.


"Возможно ли такое с mod_rewrite"
Отправлено Романыч , 07-Май-04 20:49 
> флага, это особая настройка прокси сервера какая-то под этот модуль апача?
>
>
>Он не работает без этого самого mod_proxy :)
>Т.е. mod_proxy надо включать в любом случае.
>
>Только вариант с rewrite
>
> более опасен, чем ProxyPass - любой желающий сможет серфить через тебя
>по всему Инету. Админ на такое никогда не пойдет.


Ok, спасибо огромное. Попробую без rewrita обойтись.

Ушел за пивом для админа... :)


"Возможно ли такое с mod_rewrite"
Отправлено Романыч , 08-Май-04 13:43 
>Только вариант с rewrite
>
> более опасен, чем ProxyPass - любой желающий сможет серфить через тебя
>по всему Инету. Админ на такое никогда не пойдет.

Еще один вопросик...

А вот такой вариант как по вашему?

<IfModule mod_proxy.c>

    <Directory proxy:*>
        Order deny,allow
        Deny from all
    </Directory>

</IfModule>

Ну или можно добавить Allow from .you-can-do-it-form-here.com?


"Возможно ли такое с mod_rewrite"
Отправлено dev , 08-Май-04 21:31 
Ну или можно добавить Allow from .you-can-do-it-form-here.com?

Проблема как раз в том, что это прописать надо обязательно. И если у тебя открытый веб-сервер, то писать придется "Allow from all".


"Возможно ли такое с mod_rewrite"
Отправлено nik , 10-Май-04 17:58 
а если просто определить documentroot в одну директорию?????????????

проверенно работает


"Возможно ли такое с mod_rewrite"
Отправлено Романыч , 10-Май-04 18:11 
>а если просто определить documentroot в одну директорию?????????????
>
>проверенно работает


Не в данном случае это не подходит :(


"Возможно ли такое с mod_rewrite"
Отправлено nik , 10-Май-04 18:30 
тады сори

"Возможно ли такое с mod_rewrite"
Отправлено dev , 10-Май-04 19:23 
>>а если просто определить documentroot в одну директорию?????????????
>>
>>проверенно работает
>
>
>Не в данном случае это не подходит :(

Можно, кстати, попытаться обойтись малой кровью: у одного сайта сделать DocumentRoot'ом "ln -s" на DocumentRoot другого. Но может не сработать :)