Verwenden dynamischer Pfade in der Apache-Datei httpd.conf

Verwenden dynamischer Pfade in der Apache-Datei httpd.conf

Ich weiß, wie man mehrere Hosts in einer Apache-httpd.conf-Datei einrichtet, aber ist es möglich, das dynamisch zu gestalten?

Wenn ich meine Ordner in Verzeichnissen wie diesem ablege.

c:\
   development\
               websites\
                        SiteA
                        SiteB
                        SiteC

Kann ich meine httpd.conf-Datei so schreiben?

<VirtualHost *:80>

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

</VirtualHost>

wobei %1oder ein anderer Variablenmarker SiteA ist, wenn der Benutzer sitea.example.com usw. besucht, oder sogar, wenn SiteA eine vollqualifizierte Domäne sein muss, ist das in Ordnung.

Antwort1

Recht einfach:NEIN.

A DocumentRootmuss ein einzelnes Verzeichnis auf dem Server sein und Platzhalter sind nicht zulässig.

DuMaiSie können das gewünschte Verhalten erreichen, indem Sie RewriteRuledie indiese Antwort, aber Ihre Abweichung kann abweichen.

Antwort2

Zumindest in 2.4 können Sie:

<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

verwandte Informationen