Apache автоподдомены

Проблемы с установкой, настройкой и работой системных и сетевых программ.

Модераторы: GRooVE, alexco

Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
pismenov
рядовой
Сообщения: 47
Зарегистрирован: 2008-09-28 8:58:05

Apache автоподдомены

Непрочитанное сообщение pismenov » 2010-12-20 14:46:04

Приветствую!
Есть домен - example.com
Нужно реализовать следующее преобразование -

Код: Выделить всё

(третий_уровень).example.com -> example.com/index.php?var=(третий_уровень)
но чтобы при этом пользователя не перенаправляло на

Код: Выделить всё

example.com/index.php?var=(третий_уровень)
т.е чтобы в адресной строке он видел

Код: Выделить всё

(третий_уровень).example.com
Сделал это след. образом

Код: Выделить всё

  RewriteCond %{HTTP_HOST} ^((.*)\.)example.com$
  RewriteRule ^/(.*) http://example.com/index.php?var=%1
Но при таком раскладе перекидывает на

Код: Выделить всё

example.com/index.php?var=(третий_уровень)
Прошу помощи!
Последний раз редактировалось f_andrey 2010-12-20 18:59:38, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
unix-admin
ст. сержант
Сообщения: 324
Зарегистрирован: 2010-11-26 12:43:04
Откуда: Cornucopia

Re: Apache автоподдомены

Непрочитанное сообщение unix-admin » 2010-12-20 15:09:02

с виртуалхостами пробовали поиграться?

pismenov
рядовой
Сообщения: 47
Зарегистрирован: 2008-09-28 8:58:05

Re: Apache автоподдомены

Непрочитанное сообщение pismenov » 2010-12-20 17:52:27

Я всё это прописал в настройках виртуалхоста.

Код: Выделить всё

RewriteEngine On
  RewriteCond %{HTTP_HOST} !^www.example.com$
  RewriteCond %{HTTP_HOST} ^((.*)\.)example.com$
  RewriteRule ^/(.*) http://www.example.com/index.php?var=%2

FiL
ст. лейтенант
Сообщения: 1375
Зарегистрирован: 2010-02-05 0:21:40

Re: Apache автоподдомены

Непрочитанное сообщение FiL » 2010-12-20 21:40:24

попробуй поиграть с флагами.

pismenov
рядовой
Сообщения: 47
Зарегистрирован: 2008-09-28 8:58:05

Re: Apache автоподдомены

Непрочитанное сообщение pismenov » 2010-12-20 21:45:15

Я так понимаю нужно использовать флаг [P], но при этом должны быть подключены модули mod_proxy и mod_proxy_http. Но может есть другой вариант?

Аватара пользователя
unix-admin
ст. сержант
Сообщения: 324
Зарегистрирован: 2010-11-26 12:43:04
Откуда: Cornucopia

Re: Apache автоподдомены

Непрочитанное сообщение unix-admin » 2010-12-21 0:33:37

pismenov писал(а):Я всё это прописал в настройках виртуалхоста.

Код: Выделить всё

RewriteEngine On
  RewriteCond %{HTTP_HOST} !^www.example.com$
  RewriteCond %{HTTP_HOST} ^((.*)\.)example.com$
  RewriteRule ^/(.*) http://www.example.com/index.php?var=%2
А так:
---
ServerName example.com
ServerAlias *.example.com

RewriteEngine on
RewriteCond %{http_host} .
RewriteCond %{http_host} !^www.example.com [NC]
RewriteCond %{http_host} ^([^.]+)\.example.com [NC]
RewriteRule ^(.*) http://%1.example.com/index.php?var=%1 [R=301,L,QSA]
---

?

pismenov
рядовой
Сообщения: 47
Зарегистрирован: 2008-09-28 8:58:05

Re: Apache автоподдомены

Непрочитанное сообщение pismenov » 2010-12-21 8:48:05

Решил вопрос пересборкой апача с модулями mod_proxy и mod_proxy_http.
Конфиг virtualhost cледующий

Код: Выделить всё

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.example.com
RewriteCond %{HTTP_HOST} ^((.*)\.)example.com
RewriteRule ^/(.*) http://www.example.com/index.php?var=%2 [P]