http_vhosts.conf und VirtualDocumentRoot
heinetz
- webserver
0 Sven Rautenberg0 heinetz
0 frankx
Hallo Forum,
bei der Definition meiner vhosts unter Apache gibt es ein
Problem. Vielleicht hat jemand von euch eine Idee, wie ich
es löse.
Das ganze sieht folgendermassen aus:
----------------------------------------------------------
1. Das frisch installiert Xammp befindet sich unter:
/Applications/xampp/xamppfiles/htdocs
... und ist unter:
httpd://localhost
... und den Alias:
httpd://leopold
... erreichbar.
2. Meine Projekte befinden sich alle unter:
/Users/martinhein/Sites/
... und sind unter
httpd://project.leopold.dev
... erreichbar, nachdem ein Ordner:
/Users/martinhein/Sites/projekt
... angelegt wurde.
----------------------------------------------------------
Die Konfiguration sieht so aus:
----------------------------------------------------------
NameVirtualHost *:80
NameVirtualHost *:443
<Directory "/Users/martinhein/Sites">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
<VirtualHost *:80>
VirtualDocumentRoot /Users/martinhein/Sites/%1
</VirtualHost>
<VirtualHost *:443>
VirtualDocumentRoot /Users/martinhein/Sites/%1
SSLEngine on
SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /Applications/xampp/etc/ssl.crt/server.crt
SSLCertificateKeyFile /Applications/xampp/etc/ssl.key/server.key
</VirtualHost>
<VirtualHost *:80>
ServerName localhost
ServerAlias leopold
ServerAlias 127.0.0.1
DocumentRoot "/Applications/xampp/xamppfiles/htdocs"
</VirtualHost>
----------------------------------------------------------
Nun zu dem Problem:
-------------------
Wenn ich probiere, einen vhost aufzurufen, der als Ordner
nicht vorhanden ist, reagiert der Server mit einem 404
(The requested URL / was not found on this server.). Das
erscheint mir auch irgendwie logisch, bin mir aber nicht
ganz sicher, was genau passiert.
Ich möchte gerne, dass dann der Inhalt von http://leopold
angezeigt wird, bzw. dass dann dorthin eine Umleitung statt-
findet.
Ach ja, nur noch zur Info:
Es handelt sich hier um mein lokales Entwicklungssytem
und nicht um irgendeinen 'heissen' Server.
vielen Dank für Tipps und
beste gruesse,
heinetz
Moin!
Wenn ich probiere, einen vhost aufzurufen, der als Ordner
nicht vorhanden ist, reagiert der Server mit einem 404
(The requested URL / was not found on this server.). Das
erscheint mir auch irgendwie logisch, bin mir aber nicht
ganz sicher, was genau passiert.Ich möchte gerne, dass dann der Inhalt von http://leopold
angezeigt wird, bzw. dass dann dorthin eine Umleitung statt-
findet.
Dann würde ich erstmal ganz banal probieren, ob das getan wird, wenn du deinen leopold-VHost als allererstes in der Datei angibst. Der Apache liefert den ersten genannten VHost nämlich dann aus, wenn kein anderer VHost explizit passt. Ob das bei der VirtualDocumentRoot-Direktive auch passiert (man könnte als Gegenargument anführen, dass damit ja immer ein VHost existiert, der ggf. einfach nur keine Dateien hat), wäre herauszufinden. Die Doku zu mod_vhost_alias ist jedenfalls etwas schweigsamer zu dieser Frage - ich würde also erstmal Standardverhalten annehmen.
- Sven Rautenberg
moin,
Dann würde ich erstmal ganz banal probieren, ob das getan wird, wenn du deinen leopold-VHost als allererstes in der Datei angibst. Der Apache liefert den ersten genannten VHost nämlich dann aus, wenn kein anderer VHost explizit passt. Ob das bei der VirtualDocumentRoot-Direktive auch passiert (man könnte als Gegenargument anführen, dass damit ja immer ein VHost existiert, der ggf. einfach nur keine Dateien hat), wäre herauszufinden. Die Doku zu mod_vhost_alias ist jedenfalls etwas schweigsamer zu dieser Frage - ich würde also erstmal Standardverhalten annehmen.
genau das hatte ich auch als erstes probiert:
Den 'statisch' definierten vhost 'leopold' als erstes
definieren, damit der quasi als default verwendet wird,
wenn der dynamische Teil nicht matched. Das Ergebnis
dessen ist allerdings, dass dann der dynamische Teil
scheinbar nicht mehr ausgeführt wird und alle Requests
mit dem 'statischen' Teil beantwortet werden.
Ich hatte auch schon versucht, für den leopold-VHost einen
weiteren Alias *.leo.dev zu definieren. Das verhält sich
dann genauso, als hätte ich den statischen Teil als erstes
definiert.
gruesse,
heinetz
Ahoi,
mal dumm gefragt: kollidiert denn VirtualDocumentRoot mit ServerName? Oder ist das genau das Problem? Sprich: ohne VirtualDocumentRoot läufts, aber nicht mit?
Dank und Gruß,