Использование динамических путей в файле Apache httpd.conf

Использование динамических путей в файле Apache httpd.conf

Я знаю, как настроить несколько хостов в файле Apache httpd.conf, но возможно ли сделать это динамическим?

Если я помещу свои папки в такие каталоги.

c:\
   development\
               websites\
                        SiteA
                        SiteB
                        SiteC

Могу ли я написать свой файл httpd.conf таким образом?

<VirtualHost *:80>

ServerName *.example.com
DocumentRoot "c:/development/Websites/%1/"

</VirtualHost>

где %1или другой переменный маркер - SiteA, если пользователь посещает sitea.example.com и т. д., или событие, если siteA должен быть полностью квалифицированным доменом, это нормально.

решение1

Довольно просто:нет.

A DocumentRootдолжен быть единственным каталогом на сервере, подстановочные знаки не допускаются.

Тыможетиметь возможность добиться желаемого поведения, используя RewriteRuleутверждения, упомянутые вэтот ответ, но YMMV.

решение2

По крайней мере в версии 2.4 вы можете:

<Macro virty $name>
<VirtualHost $name:80>

ServerName $name.example.com
DocumentRoot "c:/development/Websites/$name/"

</VirtualHost>
</Macro>

Use virty SiteA
Use virty SiteB
Use virty SiteC

Связанный контент