Apache zwei htdocs-Verzeichnisse zuordnen
Christian
- webserver
Hi,
sagt mal, kann ich eigentlich dem Apache sagen, dass er mehrere Verzeichnisse als "root" haben soll.
z.B.: habe ich unter d:/ ein Verzeichnis "Localhost" eingerichtet. das dann auch unter http://localhost erreichbar ist. Nun möchte ich das ein Verzeichnis unter e:/ oder c:/ auch irgendwie erreichbar ist, also das dort meine PHP-Skripte ausgeführt werden.
kann ich es irgendwie so machen:
http://localhost1 --> d:/Localhost
http://localhost2 --> e:/anderesVerzeichnis
http://localhost3 --> c:/irgendwas
oder so:
http://localhost/1
http://localhost/2
http://localhost/3
wobei 1, 2, 3 dann irgendwie keine Unterordner darstellen sondern auf die verschiedenen Festplatten und verschiedenen Verzeichnisse zeigen.
Man sieht ja auch oft dieses mit der Tilde (http://www.domain.de/~user1)
Geht das auch unter Windows??
Ich nutze Apache 1.3.28 unter Windows XP.
Gruß
Christian
Hallo Christian,
http://localhost1 --> d:/Localhost
http://localhost2 --> e:/anderesVerzeichnis
http://localhost3 --> c:/irgendwas
Ich antworte mal hierdrauf, weil ich dasselbe bei mir neulich mal erstellt
habe. Das ganze nennt sich Virtual Hosts. Zuerst muß man der Netzwerktechnik
in seinem Computer sagen, daß die Namen »localhost1«, »localhost2« und
»localhost3« auf den eigenen Computer zeigen, sprich meistens auf die
IP-Adresse 127.0.0.1.
Wie das unter Windows XP geht, weiß ich nicht. Der Klassiker ist natürlich
die Datei /etc/hosts unter den meisten Unices, in der dann solche Umsetzungen
festgeschrieben werden. Ich vermute jedoch, daß Windows, ähnlich wie mein
MacOS X auch einen Verzeichnisdienst benutzt. Da mußt Du etwas recherchieren.
Die Anfragen an diese Adressen werden also an Deinen eigenen Computer,
also im Falle von HTTP an Deinen Apachen, weitergeleitet. Diesem mußt
Du noch sagen, daß bei dem und dem Namen auf das und das Verzeichnis
weitergeleitet werden soll. Das ganze nennt sich in der Apache-Sprache
»Name-based Virtual Hosts« und sind ein paar Einträge in der httpd.conf,
der zentralen Konfigurationsdatei des Apachen. Hier steht, wie das
geht:
http://httpd.apache.org/docs/vhosts/name-based.html
(Nebenbei: Ich würde an Deine Stelle sprechendere Namen verwenden)
oder so:
http://localhost/3
wobei 1, 2, 3 dann irgendwie keine Unterordner darstellen sondern auf die
verschiedenen Festplatten und verschiedenen Verzeichnisse zeigen.
Da würde ich instinktiv Symlinks auf Dateisystemebene verwenden. Aber
Apache bietet auch einen Mechanismus namens Alias, der solche Anfragen
auf andere Stellen weiterleiten kann.
http://httpd.apache.org/docs/mod/mod_alias.html#alias
Man sieht ja auch oft dieses mit der Tilde (http://www.domain.de/~user1)
Geht das auch unter Windows??
In der Dokumentation heißt es »Traditionally on Unix systems...«. Windows
XP ist allerdings auch ein Mehrbenutzersystem. Wieso probierst Du es nicht
einfach aus?
http://httpd.apache.org/docs/urlmapping.html#user
Ich nutze Apache 1.3.28 unter Windows XP.
Gut, daß Du das jetzt schon sagst, ich hätte sonst lauter Links auf die
Dokumentation von Apache 2.0 hier gehabt. ;-)
uiuiuiui ...
grade habe ich deine Frage entdecktund finde sie gut.
sagt mal, kann ich eigentlich dem Apache sagen, dass er mehrere Verzeichnisse als "root" haben soll.
Nein.
kann ich es irgendwie so machen:
http://localhost1 --> d:/Localhost
http://localhost2 --> e:/anderesVerzeichnis
http://localhost3 --> c:/irgendwas
Ja. Dazu gibtes die "virtualhosts", geht ganz prima.
oder so:
http://localhost/1
http://localhost/2
http://localhost/3
Nicht so richtig.
Man sieht ja auch oft dieses mit der Tilde (http://www.domain.de/~user1)
So, siehtman das?
Geht das auch unter Windows?
Erst mit Windows2000 und höher, daß dus nur weißt.
Ich nutze Apache 1.3.28 unter Windows XP.
Ups. Nimmmal lieber Apache 2.0.47, da gehts besser.
Weiterführende Fragen könnte dirdas n00b beantworten, das kann sowas, aberes muß ja wieder Antenne halten, das neurotische Ding (doofe Verwandtschaft).
grüße dichund alle anderen ganzlieb
alsowiebitte
Hallo, alsowiebitte,
kann ich es irgendwie so machen:
http://localhost1 --> d:/Localhost
http://localhost2 --> e:/anderesVerzeichnis
http://localhost3 --> c:/irgendwas
Ja. Dazu gibtes die "virtualhosts", geht ganz prima.
oder so:
http://localhost/1
http://localhost/2
http://localhost/3
Nicht so richtig.
Warum? <Alias> funktioniert bei mir prima. <Directory> auch.
Man sieht ja auch oft dieses mit der Tilde (http://www.domain.de/~user1)
So, siehtman das?
Ja, tut man. Mal mehr, mal weniger. *g*
Grüße aus Barsinghausen,
Fabian
Hi Christian,
kann ich es irgendwie so machen:
http://localhost1 --> d:/Localhost
http://localhost2 --> e:/anderesVerzeichnis
http://localhost3 --> c:/irgendwasoder so:
http://localhost/1
http://localhost/2
http://localhost/3
ja, beides. Wobei die zweite Struktur m. E. sehr viel einfacher umzusetzen ist als die erste.
Man sieht ja auch oft dieses mit der Tilde (http://www.domain.de/~user1)
Geht das auch unter Windows??
Das kommt auf das Windows an.
Ich nutze Apache 1.3.28 unter Windows XP.
Gibt es auf Deiner Maschine definierte Windows-Benutzer mit definierten Heimatverzeichnissen?
Viele Grüße
Michael