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

Использование динамических путей в файле 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 должен быть полностью определенным доменом, и это нормально.

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

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

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

По крайней мере, в версии 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