Вот моя идеальная установка, которую я хотел бы выяснить, как это сделать:
У меня есть домен, размещенный на профессиональном хостинге:
Example.net
У меня есть субдомен, домашний .example.net, который указывает на мой домашний Mac mini. У меня это уже работает нормально. Корневой каталог для home.example.net - это / Users / me / Sites
. Я хочу настроить динамические поддомены так, чтобы все, что предшествует home.example.net (версия регулярного выражения: * .home.example.net), имело корневой каталог документа: / Users / me / Sites / $ 1
Например: при посещении bacon.home.example.net будет находиться корневой каталог документа / Users / me / Sites / bacon
Как я могу получить эту настройку, чтобы я не нужно добавлять новый виртуальный хост для каждого проекта?
Вам необходимо включить mod_rewrite
a2enmod rewrite
и добавить следующие директивы в вашу конфигурацию Apache:
ServerAlias *.home.example.net
<Directory /User/me/Sites>
RewriteEngine On
RewriteCond %{HTTP_HOST} !^home\.example\.net
RewriteCond %{HTTP_HOST} ^([^.]+).home\.example\.net
RewriteRule ^(.*)$ http://home.example.net/%1/$1 [L]
</Directory>
Конечно, вам необходимо убедиться, что записи DNS и подкаталоги для каждого субдомен существует.