Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [apache-talk] виртуальные серверы через mod_rewrite
Здравствуйте Ivan B. Serezhkin!
On Fri, 06 Oct 2006 15:40:02 +0400
"Ivan B. Serezhkin" <ivan@xxxxxxxxxxxxx> wrote:
>
> Alexey Vlasov wrote:
> > Hello,
> >
> > Есть задача, в одном document_root разместить множество виртуальных хостов.
> >
> > Структура каталогов такая:
> >
> > /public_html
> > |-----domain1.ru
> > | |-----news
> > | |-----gb
> > |
> > |-----domain2.ru
> > ...
> >
> > делаю так:
> >
> > RewriteRule ^domain1\.ru/ - [L]
> > RewriteCond %{HTTP_HOST} ^domain\.ru$
> > RewriteRule (.*) domain.ru/$1 [L]
> >
> > Все вроде бы как работает, т.е. при запросе domain.ru контент отдается
> > из /public_html/domain1.ru, при domain.ru/news/, тоже работает, но при
> > domain.ru/news, URL превращается в domain.ru/domain.ru/news/
> >
> > Есть идеи как это пофиксить?
> >
> Первое правило никогда не работает. нет слэша в начале.
> Второе правило вообще не правильно, ибо так написано в доке на
> mod_rewrite, тоесть как оно работает никто не знает.
>
> Я не хочу сейчас переделывать правила, по этому раскажу, как сделал бы я:
> RewriteCond %{HTTP_HOST} ^(.+)$
> RewriteRule ^/(.+)$ /%1/$1 [P,L]
Увы, но ваш пример не работает совсем.
А именно всегда отдается файл из public_html.
> Ещё могу сказать, что если никаких "Экстра" требований к вебсерверу нет
> - то имеет смысл использовать thttpd.
> В thttpd Такое расположение директорий называется виртхостами.
К сожалению, нужен именно Apache, и создание вирт. хостов с помощью .htaccess, предполагается, что пользователи доступ к httpd.conf иметь не будут.
--
Alexey Vlasov
|