
Ich verwende den Alias „mod_vhost“ schon seit einiger Zeit, damit ich meine Standardserverkonfiguration für Domänen, die auf meine Hosting-Anbieter verweisen, nicht erfassen kann.
Jetzt hätte ich auch gerne für jede dieser Domänen die Möglichkeit einer Subdomäne (assets.domain.xyz, domain.xyz), aber ich schaffe es beim besten Willen nicht, beide zu aktivieren.
<VirtualHost *:80>
UseCanonicalName Off
VirtualDocumentRoot "/www/%1.0.%-1.0/public"
ServerName %1.0.%-1.0
ServerAlias %1.0.%-1.0.*.xip.io
<Directory />
Options FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
UseCanonicalName Off
VirtualDocumentRoot "/www/%2.0.%-1.0/assets"
ServerName assets.%2.0.%-1.0
ServerAlias assets.%2.0.%-1.0.*.xip.io
</VirtualHost>
Was zuerst eintritt, funktioniert, Letzteres wird übersprungen.
Ist das überhaupt möglich? Ich möchte vermeiden, dies jedes Mal duplizieren zu müssen, wenn eine neue Domäne auf mich verweist, und möchte das Schreiben von Skripten vermeiden.
BEARBEITEN Ich versuche, es so hinzubekommen, dass ich zwei allgemeine Zuordnungen wie unten haben kann:
domain.dev => /www/domain.dev/public
assets.domain.dev => /www/domain/assets
Wenn es einfacher ist, nur /public/assets zu haben, wäre ich damit zufrieden, da hier ohnehin nur statische Inhalte bereitgestellt werden.
Antwort1
Die einzige Möglichkeit, es zum Laufen zu bringen, besteht bei mir darin, einen nicht dynamischen virtuellen Host zur Handhabung der Subdomäne hinzuzufügen.
<VirtualHost *:80>
ServerAlias %-2.0.%-1.0
VirtualDocumentRoot /www/%-2.0.%-1.0/public
<Directory />
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerAlias assets.*
VirtualDocumentRoot /www/%-2.0.%-1.0/assets
<Directory />
Order deny,allow
Allow from all
AllowOverride None
SetHandler default-handler
php_flag engine Off
</Directory>
</VirtualHost>
Das reicht fürs Erste, da ich es dann wenigstens nicht zu oft wiederholen muss.