Создание пачки поддоменов через .htaccess

Эта запись опубликована в рубрике [ Apache ]

Иногда надо создавать автоматически поддомен в какой-либо зоне. Например, для хостинга домашних страничек пользователей. Вот как это делается:

1. Нам надо создать запись для всех поддоменов в домене.

В зону мы вносим новый домен “*”, ссылающийся на необходимый IP адрес сервера.

2. Настраиваем Apache.

Создаем вирутальный хост с примерно такими параметрами:

<VirtualHost *:80>
DocumentRoot /var/www/example.com
ServerName example.com

ServerAlias *.example.com
RewriteEngine On
RewriteCond %{HTTP_HOST} ^((.*)\.)example.com$
RewriteRule ^/(.*) /%2/$1

</VirtualHost>

Теперь, чтоб у нас работал сайт, создаем каталог /var/www/example.com/www и туда заливаем содержимое сайта www.example.com. По аналогии делаем для остальных поддоменов.

Собственно все.

Google Bookmarks Digg Reddit del.icio.us Ma.gnolia Technorati Slashdot Yahoo My Web News2.ru БобрДобр.ru RUmarkz Ваау! Memori.ru rucity.com МоёМесто.ru Mister Wong

Post to Twitter Post to Delicious Post to Facebook Post to MySpace Post to Ping.fm

Оценить эту запись:
1 звезда2 звезды3 звезды4 звезды5 звезд
Метки: [ , , , ]
Вы можете следить за ответами к этой записи через RSS 2.0 feed. Вы можете оставить мнение, или трэкбэк с собственного сайта.

4 комментариев(я)

  • 14.06.2008 18:50, Silver Ghost сказал:

    А что конкретно подробнее?

    • 20.12.2008 10:31, онлайн фильмы сказал:

      не получается, идет перенаправление на хостинг

      • 28.01.2009 23:02, _sty_ сказал:

        SilverGost, спасибо. Я написал такой хтакс

        RewriteCond %{HTTP_HOST} !^www.blabla.ru$ [NC]
        RewriteCond %{HTTP_HOST} ^(([a-z0-9]+)\.)blabla.ru$ [NC]
        RewriteRule ^(.*)$ http://blabla.ru/user/profile/%2/$1 [L,QSA]

        Как сделать так чтобы перенаправленный урл скрывался в строке адреса, а на его месте все так же оставался username.blabla.ru

        • 29.10.2009 09:13, Лёлик сказал:

          У меня практический вопрос, данное прописывание – работает. Но возникает одна сложность. Во всех поддоменах меняется корень и если для домена первого уровня example.com корень, например выглядит /home/example.com/
          то для поддомена ru.example.com корень уже будет /home/example.com/ru/
          А неудобство в том, что все картинки css и js файлы ищутся в соответствии с новым корнем.
          Как прописать всем поддоменам единый корень?

          P.S. RewriteBase / не принимает пишет при попытке перезапуска апача:
          “RewriteBase: only valid in per-directory config files”

          (Обязательно)
          (Обязательно, не публикуется)