Grauenhaft - da steht tatsächlich so ein Müll drin! Es ist wirklich unglaublich, was so Pseudo-Gurus für einen Mist verzapfen und dann auch noch ins Internet stellen. Dieses Modul tut etwas völlig anderes, das kannst Du auskommentieren. Das benötigt man für sog. "Massen-Hosting", wenn man sehr viele gleich strukturierte VirtualHosts anlegen will und will nicht jeden einzeln wieder spezifizieren und jedesmal das gleiche (bis auf DocumentRoot und ServerName) hinschreiben. Dann kann man mit Hilfe von mod_alias_vhost so eine Art "Template" VirtualHost anlegen, der quasi für alle gilt (und da wird der ServerName und DocumentRoot mit Variablennamen bestückt, die von Apache zur Laufzeit aufgelöst werden).
sykerjoe wrote:Es geht mir nur um den ServerAlias das der Funktioniert... alles andere Redirect etc. is mir im moment ziemlich egal ( außer es hängt irgendwie zusammen)
"Tun" wird er es in jedem Fall, denn die Direktive "ServerAlias" benötigt (wie auch der VirtualHost selbst) kein Apache Modul, das ist eine Funktion von Apache selbst (man nennt das dann "core", als Kern von Apache). So etwas kannst Du herausfinden, in dem Du einfach "ServerAlias" in Google eingibst, da kommt auch ziemlich weit oben das Tutorial von "Sasche Kersken" auf der Seite von buecher.lingoworld.de - das ist eine gute Dokumentation. Im konkreten Fall ist das diese Seite:
http://buecher.lingoworld.de/apache2/sh ... =693&o=dirUnd da steht oben immer die grundsätzliche Übersicht, die zitiere ich jetzt mal und erkläre die Begriffe:
In Modul(en): core
Kontext: <VirtualHost>
Syntax: ServerAlias HOSTNAME [HOSTNAME ...]
Standardwert:
Automatisch gesetzt: nein
Also, zunächst wird das Modul genannt, aber da steht "core". D.h., wie oben schon gesagt, die Direktive ServerAlias wird direkt von Apache selbst ausgewertet. Dort müßte sonst "mod_alias_vhost" stattdessen stehen, wenn es benötigt würde - aber das ist nicht der Fall.
Kontext heißt, wo darf ich diese Direktive hinschreiben, das ist in diesem Fall auschließlich im <VirtualHost> Container. Da stehen manchmal auch andere Begriffe, beispielsweise "Server", das würde bedeuten, diese Direktive kann man überall in httpd.conf hinschreiben, sie gilt grundsätzlich für den ganzen Server. Das wäre beispielsweise die Direktive "ServerRoot". Dann folgt der Syntax, der ist klar, erst das das Schlüsselwort "ServerAlias" und dann kann man dort einen oder auch mehrere (mit Leerzeichen voneinander getrennte) Domainnamen (Hostnamen ist das gleiche) angeben. Zum Schluss folgt der "Standardwert" (auf Englisch wäre das der "Default"), d.h. der Wert, wenn man in einem VirtualHost diese Direktive gar nicht angibt und dieser ist hier logischerweise leer bzw. nicht gesetzt.
Der ServerAlias hat also prinzipiell keinen Grund "nicht" zu funktionieren, es sei denn, der damit verknüpfte Domainnamen hätte eine "falsche" IP, nämlich eine IP, die von diesem VirtualHost nicht bedient wird, denn das ist die grundsätzliche Voraussetzung. Das ist aber hier gar nicht möglich, denn dieser VirtualHost (aus Deiner Konfiguration) bedient alle IPs, weil Du dort eine Wildcard angegeben hast "*:80".
Wenn sich dieser VirtualHost im Falle des ServerAlias anders verhält, dann liegt das NICHT am ServerAlias selbst, sondern an der restlichen Konfiguration. Möglicherweise an den Rewrites oder Redirects oder vielleicht auch an etwas, was wir hier noch nicht zu sehen bekommen haben. Um das grundsätzlich mal zu testen, kannst Du ja mal den ganzen "Rest" auskommentieren, und nur ServerName mit ServerAlias und DocumentRoot drin lassen (und natürlich die Direktiven für das <Directory ...> für den DocumentRoot, dass Apache überhaupt zugreifen kann "Allow From All" o.ä., sonst bekommst Du einen 403er oder 404er Fehler (weiß ich jetzt nicht auswendig, welcher der richtige ist).
Und in Sachen Dokumentation und Konfiguration solltest Du in Zukunft vielleicht besser auf die original Apache Doku oder auch gerne die o.g. Doku von Sasche Kerskens zugreifen, da sind auch gute Beispiele drin, aber man erlebt dann nicht so seltsame Überraschungen, dass da totaler Quatsch drin steht.