Назад | Перейти на главную страницу

Как иметь динамический DocumentRoot в файле конфигурации сайта apache2?

Мне нужно настроить мой файл evelynblac.com.conf так, чтобы любой запрос с субдоменом отображался в каталог, названный в честь субдомена (см. Изображение в ссылке). Как я могу это сделать?

<VirtualHost *:80>
        ServerName evelynblac.com
        ServerAlias *.evelynblac.com
        ServerAdmin support@evelynblac.com
        DocumentRoot /var/www/*.evelynblac.com
        <Directory "/var/www/*.evelynblac.com">
                DirectoryIndex index.php
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

Скриншот моего файла evelynblac.com.conf

PS: Мне нужно решение, которое не требует от меня изменения .htaccess, если это возможно.

Возможно, вы захотите взглянуть на mod_vhost_alias

С помощью этого модуля вы можете заменять виртуальные хосты переменными, например:

% 0 замените событие на полное доменное имя, другие переменные:

0   the whole name
1   the first part
2   the second part
-1  the last part
-2  the penultimate part
2+  the second and all subsequent parts
-2+     the penultimate and all preceding parts
 1+ and -1+     the same as 0

В вашем примере вы можете сделать что-то вроде:

VirtualDocumentRoot /var/www/%0

В конце концов, как упоминал yoonix, есть много методов, это только один из них.