manfred: redirect mit .htaccess

hallo leute,

ich habe space mit einer festen ip
auf die mehrere domains zeigen

jenachdem welche domain eingegeben wird, soll automatisch
auf das gleichnamige unterverzeichnis zugegriffen werden.
Die eingegebene URL soll im Browser stehen bleiben.

Ich hab ein code für eine htaccess gefunden mit dem ich eine festgelegte Domain in ein bestimmtes unterverzeichnis
weiterleiten kann

wie könnte man das aber nun umbauen, dass automatisch ohne
festlegung einer Bestimmten URL immer auf das gleichnamige
Unterverzeichnis gesprungen wird

Beispiel
Url http://domain1.de
soll automatisch in das Verzeichnis /domain1.de wechseln
Url http://domain2.de
soll automatisch in das Verzeichnis /domain2.de wechseln
Url http://domainx.de
soll automatisch in das Verzeichnis /domainx.de wechseln

und wie gesagt die eingegebene URL soll aber im Browser stehen bleiben

hier der code den ich gefunden habe für eine bestimmte URL

RewriteEngine On
Options +FollowSymlinks
RewriteBase /

Rewrite Rule for w01.com

RewriteCond %{HTTP_HOST} w01.com$ [NC]
RewriteCond %{REQUEST_URI} !w01/
RewriteRule ^(.*)$ w01/$1 [L]

Danke für Eure Hilfestellung

  1. ich habe space mit einer festen ip
    auf die mehrere domains zeigen

    jenachdem welche domain eingegeben wird, soll automatisch
    auf das gleichnamige unterverzeichnis zugegriffen werden.
    Die eingegebene URL soll im Browser stehen bleiben.

    Sowas nennt sich Virtual Host und wird in der Serverkonfiguration eingegeben. In diesem Sinne wäre die Benutzung von mod_rewrite IMHO die berühmte Kanone, mit der auf Spatzen geschossen wird.
    Aber davon abgesehen: http://www.engelschall.com/pw/apache/rewriteguide/#ToC3 hilft Dir sicher auch weiter.

    Gruß,
      soenk.e

    1. hi soenke und danke für deine antwort.

      aber ich habe keinen server sondern nur einen webspace mit ip
      und kann deswegen keine v-hosts einrichten.

      der link engelschall.com ist nicht erreichbar

      kannst du mir bitte weiterhelfen ??
      möchte doch nur einen globalen code
      der mir die doms in das gleichnamige unterverzeichnis leitet
      ohne jede dom einzel spezifizieren zu müssen

      Dankeschön
      gruß
      manfred

      1. der link engelschall.com ist nicht erreichbar

        Nanu, hier funktioniert er.. Die mod_rewrite-Anleitung reicht aber auch, wenn man sich das mal in Ruhe durchliest und schaut, wie das Beispiel funktioniert.

        kannst du mir bitte weiterhelfen ??
        möchte doch nur einen globalen code
        der mir die doms in das gleichnamige unterverzeichnis leitet
        ohne jede dom einzel spezifizieren zu müssen

        Ok, Du hast es so gewollt. Nach kurzem Überfliegen der Anleitung könnte folgendes funktionieren:

        RewriteCond %{HTTP_HOST} ^(www.)?(.*).[a-z]+$ [NC]
        RewriteRule ^(.*)$ %2/$1 [L]

        Unter RewriteCond prüft er, ob der vom Browser gelieferte Hostname
        dem Muster "^(www.)?(.*).[a-z]+$" entspricht, also am Anfang 0 oder 1 "www." ("^(www.)?"), dann eine Zeichenkette ("(.+)") und am Ende (das $ zum Schluss) einen Punkt (".") gefolgt von mindestens einem Buchstaben ("[a-z]+") hat. Das Ganze unter Nichtbeachtung von Groß- und Kleinbuchstaben ("NC").

        Wie Du sicher bemerkt hast, trifft das auf jeden Host im Netz zu, hier geht's also nicht direkt um eine Prüfung, sondern die ganze Konstruktion dient nur dazu, den Hostnamen ohne www. am Anfang und ohne TLD am Ende rauszufiltern (dafür sind die runden Klammern da).

        In der RewriteRule "^(.*)$ %2/$1 [L]" wird der komplette Pfad genommen ("^(.*)$") und dann mittels %2 der Inhalt der zweiten runden Klammer aus der RewriteCond genommen, ein / angehängt sowie das Ergebnis von der eigenen ersten runden Klammer ("$1").
        Das L am Ende darfst Du selber nachschauen (sonst lernst Du ja nix;).

        Die Verzeichnisse müssten dann jeweils den Namen der Domain haben, ohne www. davor, aber mit TLD, z.B. "test1.de" und "test2.de".

        Wie gesagt, vielleicht funktioniert's ja. Falls nicht: Da Du ja jeden meiner Schritte anhand der Anleitung nachvollzogen hast, sollte es für Dich kein Problem mehr sein, meinen Murks zu korrigieren ;)

        Gruß,
          soenk.e

        1. moin Soenke,

          Vielen Dank für Deine Hilfe:-)

          Da dieser Syntax nicht ganz einfach ist,
          (zumindestens für mich)
          Gibt es irgendwo im net eine documentation
          so aller selfHTML mit der ich mich mal beschäftigen kann ??

          Danke und Gruß Manfred

          1. Da dieser Syntax nicht ganz einfach ist,
            (zumindestens für mich)
            Gibt es irgendwo im net eine documentation
            so aller selfHTML mit der ich mich mal beschäftigen kann ??

            Nicht, daß ich wüsste, Du kannst es aber mal mit "RegEx Anfänger Dokumentation" bei Google versuchen .)

            Ansonsten kann ich Dir zum Einstieg nur http://httpd.apache.org/docs/mod/mod_rewrite.html#RewriteRule empfehlen, da findest Du einen kleinen grauen Kasten, in dem die wichtigsten Konstrukte erklärt sind (außerdem einen Buchtipp).
            Detailierter wird es dann unter http://www.php.net/manual/de/pcre.pattern.syntax.php.

            Gruß,
              soenk.e