hallo Sven,
immerhin habe ich ja auch nicht etwa
eine Direktive wie
NameVirtualHost _default_
Warum nicht? Hast du so etwas wenigstens mal probiert? Was passiert da? Was sagen deine logs zu so einem Versuch?
du kannst IP-basierte und namensbasierte virtuelle hosts nicht einfach so durcheinanderwürfeln.
definiere(durcheinanderwürfeln);
Du hast mit "NameVirtualHost" _eine_ IP definert, die für alle darunterstehenden <VirtualHost>-Container gültig sein soll. Aber du schreibst einen Container darunter, der eben _nicht_ für die angegebene IP gilt.
Konkret ist es die Reihenfolge.
Das hilft schon viel mehr weiter :)
Gut.
So, jetzt habe ich es entsprechend umgestellt mal ausprobiert. Ist aber genau das gleiche.
Hm. Hast du dir schon mal überlegt, was "__default__" für eine IP ist?
Eine zweite Möglichkeit besteht darin, die Virtualhost-Angaben in eine bzw. zwei eigene Datei(en) auszulagern.
Das Problem ist ja, dass ich nicht einfach "hier" die IP-basierten
und "dort" die namensbasierten habe, sondern dass die IP-basierten
Hosts ja so quasi in Namensbasierte aufgeteilt sind.
Na und? Du möchtest für mehrere IP-Adressen also auch jeweils mehrere virtuelle Hosts definieren. Dann tus doch einfach. Die beste Übersicht behältst du, wenn du für jede IP, die du benutzen möchtest, einen eigenen Konfigurationsschnipdel "IP.conf" anlegst und den per "Include" in deine httpd.conf einbindest - die darf dann natürlich nicht nochmal für dieselben IP-Adressen <VirtualHost>-Container enthalten.
Apropos, kann man eigentlich einen einzelnen Virtuellen Host mehrmals
in einer entsprechenden Direktive erwähnen?
Prinzipiell ja - aber ich bin nicht sicher, ob ich diese Nachfrage richtig verstehe.
Damit könnte ich zumindest
die virtuellen Hosts in einer "plattformunabhängigen" Konfigurationsdatei zusammenfassen. Also z.B. sowas:
<VirtualHost ...>
ServerName vwx
# und weitere plattformunabhängige direktiven
</VirtualHost>
und an anderer Stelle - in diesem Falle für Linux:
<VirtualHost ...>
ServerName vwx
DocumentRoot /var/www/webserver/abc/def/ghi
</VirtualHost>
Auch das verstehe ich nicht so _ganz_. Das würde bedeuten, daß deine httpd.conf bzw. die dafür nötigen Files auf einer Partition liegen, die unabhängig vom gerade gefahrenen Betriebssystem ansprechbar ist. _Das_ läßt sich zwar noch machen. Aber eine Abfrage nach dem Schema
if (Windows){
nimm windowshttpd.conf
} else {
nimm linuxhttpd.conf
}
ist mir nicht vorstellbar. Du kannst an vielen Stellen in den Containern der httpd.conf RegExpressions einsetzen, aber daß eine "Plattformunabhängigkeit" sich so erreichen läßt, wie du das andeutest, halte ich derzeit zumindest für unmöglich - und auch nicht für sinnvoll.
Grüße aus Berlin
Christoph S.
mailto:christoph.schnauss@berlin.de
http://www.christoph-schnauss.de
ss:| zu:) ls:& fo:) va:) sh:| rl:|