Вот моя идеальная установка, которую я хотел бы выяснить, как это сделать:
У меня есть домен, размещенный на профессиональном хостинге:
Example.net
У меня есть поддомен home.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-записи и подкаталоги для каждого поддомена существуют.