Добавление неограниченного числа поддоменов через mod_rewrite

Внимание! domain.ru везде необходимо заменить на ваш домен, для которого создаются поддомены.
  1. Заходим в панель хостинга, раздел Домены


  2. Добавляем поддомен (sub.domain.ru) в панель хостинга.


  3. Переходим по ссылке настройки напротив поддомена, открывается страница настроек домена.

    • Поле Алиасы: добавляем запись *.domain.ru
    • Ниже два пункта вкл Apache вместо Nginx для... - ставим галочки.
    • Нажимаем кнопку Изменить настройки


  4. Возвращаемся в раздел Домены, переходим по ссылке DNS напротив основного домена domain.ru.


  5. На открывшейся странице, под таблицей настроек, есть пустое поле. Добавляем в это поле *, A, IP-адрес. IP-адрес берем там же, в других полях настроек DNS или в самом низу страницы, IP-адрес по умолчанию (смотрим изображение).


  6. Нажимаем Изменить таблицу


  7. Переходим в раздел WebFTP в панели хостинга. Там переходим в папку домена, у нас она называется sub.domain.ru


  8. Создаем в папке файл с названием .htaccess, точка в начале обязательна.


  9. Открываем файл и добавляем код:

    RewriteEngine On
    RewriteCond $1 !^subs/
    RewriteCond %{HTTP_HOST} !^(www.)?domain\.ru$ [NC]
    RewriteCond %{HTTP_HOST} ^(www.)?([a-z0-9-]+)\.domain\.ru$ [NC]
    RewriteRule ^(.*)$ subs/%2/$1 [L]

    Не забудьте заменить domain\.ru здесь на ваше доменное имя.


  10. В этой же папке (папка домена) создаем папку с именем subs.


  11. Переходим в папку subs, в ней и будем создавать папки всех поддоменов, которые нам нужны. Например, такой путь /home/ЛОГИН_ХОСТИНГА/sub.domain.ru/subs/name/ в бразуере будет открываться как http://name.domain.ru.


Такой способ создания поддоменов удобен тем, что не надо лишний раз добавлять домен в панели хостинга в разделе Домены. Достаточно через FTP-клиент или в разделе WebFTP добавить папку и поддомен сразу будет доступен.