Apache: Автоматические субдомены
Если необходимо использовать много субдоменов, не обязательно засорять файл конфигурации и описывать каждый субдомен отдельно. Можно настроить Apache так, что каждый каталог будет доступен как субдомен, причем для создания нового субдомена необходимо всего лишь создать новый каталог.
Настройка DNS
В файле описания зоны или в настройках, которые вам предоставляет регистратор домена, создайте новый субдомен с именем '*' (звездочка, без кавычек) и IP веб-сервера, на котором будут находится все субдомены.
Кстати, эти "автоматические" субдомены имеют низкий приоритет по отношению к обычным субдоменам. Если создать субдомен с конкретным именем и указать его на другой IP адрес, то пользователям будет возвращаться этот другой IP.
Настройка Apache
Замечание: Убедитесь, что модуль mod_rewrite подключен.
Добавьте в секцию VirtualHost вашего домена следующие строки:
<VirtualHost *:80> DocumentRoot /var/www/example.com ServerName example.com ... ServerAlias *.example.com RewriteEngine On RewriteCond %{HTTP_HOST} !^www.example.com$ RewriteCond %{HTTP_HOST} ^((.*)\.)example.com$ RewriteRule ^/(.*) /%2/$1 </VirtualHost>
Наведите курсор на подчеркнутый фрагмент, чтобы узнать его значение.
Не забудьте перезагрузить Apache:
# apachectl restart
Все субдомены, кроме www, будут запрашиваться из подкаталогов. С этой конфигурацией также возможно использовать домены нескольких уровней вложенности (например second.first.example.com). В случае, если каталог для запрошеного домена не существует, возвращается стандартная ошибка 404 (Файл не найден).
Ссылки
Статьи
Форум
Реклама
Удаленное администрирование, поддержка nginx, тюнинг и настройка выделенного сервера.
