Christian: Apache zwei htdocs-Verzeichnisse zuordnen

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

  1. 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. ;-)

    • Tim
    --
    »Solche Kompetenzen kauft man sich zu.«
    http://forum.de.selfhtml.org/archiv/2003/5/46020/#m251248
  2. 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

    1. 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

  3. Hi Christian,

    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

    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

    --
    T'Pol: I apologize if I acted inappropriately.
    V'Lar: Not at all. In fact, your bluntness made me reconsider some of my positions. Much as it has now.
    (sh:| fo:} ch:] rl:( br:^ n4:( ie:% mo:) va:| de:/ zu:| fl:( ss:) ls:~ js:|)
     => http://www.peter.in-berlin.de/projekte/selfcode/?code=sh%3A|+fo%3A}+ch%3A]+rl%3A(+br%3A^+n4%3A(+ie%3A%25+mo%3A)+va%3A|+de%3A%2F+zu%3A|+fl%3A(+ss%3A)+ls%3A~+js%3A|
    Auch diese Signatur wird an korrekt konfigurierte Browser gzip-komprimiert übertragen.