Wildcard-Subdomain und ServerAlias bei mehreren Domains

qrap

New Member
Hallo ihr Lieben,

ich habe mich schon ein wenig durchgeklickt und bin auch recht weit gekommen.
Jedoch stehe ich jetzt vor folgendem Problem.

Zuerst eine kurz Beschreibung des IST-Zustandes:
* Ich habe zwei Domains in Plesk angelegt domain1.tld, domain2.tld
* Für domain1.tld habe ich eine Subdomain zzz-wildcard.domain1.tld angelegt
* In /var/www/vhosts/domain1.tld/subdomains/zzz-wildcard/conf/vhost.conf stehen folgende beiden Zeilen:
ServerAlias *.domain1.tld
ServerAlias *.domain2.tld

Das soll dazu führen, dass nicht existente Subdomains von domain1.tld und domain2.tld auf zzz-wildcard.domain1.tld umgeleitet werden und ich dort eine einheitliche Fehlerseite anzeigen kann (die dann z.B. Vorschläge liefert, falls der Benutzer bei der Subdomain nur verschrieben haben sollte).

Klappt auch ganz gut:
www.domain1.tld, domain1.tld landet auf dem Inhalt der Domain 1
irgendwas.domain1.tld landet auf zzz-wildcard.domain1.tld
domain2.tld landet auf dem Inhalt der Domain 2
irgendwas.domain2.tld landet auf zzz-wildcard.domain1.tld

Nun aber das Problem:
www.domain2.tld landet auf zzz-wildcard.domain1.tld
und
webmail.domain1.tld und webmail.domain2.tld landen auf zzz-wildcard.domain1.tld, wobei Webmail aktiviert ist und ohne die vhost.conf-Datei über die Subdomains funktioniert...

Hat jemand eine Idee, wie das zu lösen ist?

Viele Grüße
 
Das soll dazu führen, dass nicht existente Subdomains von domain1.tld und domain2.tld auf zzz-wildcard.domain1.tld umgeleitet werden und ich dort eine einheitliche Fehlerseite anzeigen kann (die dann z.B. Vorschläge liefert, falls der Benutzer bei der Subdomain nur verschrieben haben sollte).
Dazu benötigst du lediglich einen Default VirtualHost. Das ist der erste VirtualHost, der in der Konfiguration für die entsprechende IP-Adresse gefunden wird, siehe http://httpd.apache.org/docs/2.2/vhosts/details.html#hostmatching.
 
Hallo,

danke erstmal für den Tipp :)

Habe es jetzt ausprobiert, indem ich alle bisherigen Änderungen rückgängig gemacht und folgende Zeilen in die httpd.conf eingefügt habe:

Code:
<VirtualHost _default_:*>
ServerName zzz-wildcard.domain1.tld
DocumentRoot /var/www/vhosts/domain1.tld/subdomains/zzz-wildcard/
</VirtualHost>

Leider funktioniert das nicht.

Stimmt etwas an den Eingaben nicht?

Für Hilfe bin ich dankbar :)

Viele Grüße
 
Das kommt ganz auf deine Apache httpd-Konfiguration an, z. B. an welcher Stelle die VirtualHost-Definition steht, ob es einen VirtualHost gibt, der besser passt usw.

Der von mir verlinkte Artikel beschreibt das Prozedere im Detail.
 
Stimmt etwas an den Eingaben nicht?
Jupp, du hast Mist gebaut. ;)

_default_ gillt nur für IP-Basierte virtuelle Hosts. Bei Namensbasierten vHosts kommt es darauf an, dass der Container an erster Stelle in der Datei steht.

Apache Cookbook said:
[noparse]_default_ typically does not work as people expect in the case of name-based virtual hosts. It does not match names for which there are no virtual host sections, only address:port combinations for which there are no virtual hosts configured.[/noparse]

Für namensbasierte virtuelle Hosts gillt außerdem, dass ausnahmslos jeder Container genau die Angabe enthalten muss, welche bei NameVirtualHost vergeben wurde, weil erst diese Direktive überhaupt den Abgleich nach Namen für die Betreffenden vHosts aktiviert.
 
Back
Top