redirect mit .htaccess
manfred
- sonstiges
0 Sönke Tesch0 manfred0 Sönke Tesch0 manfred
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 /
RewriteCond %{HTTP_HOST} w01.com$ [NC]
RewriteCond %{REQUEST_URI} !w01/
RewriteRule ^(.*)$ w01/$1 [L]
Danke für Eure Hilfestellung
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
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
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
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
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