Zur Navigation

Mehrere Domains weiterleiten

1 robse

Hallo,
ich habe folgendes Problem, meine htaccess regelt mehrere Domains. Jetzt möchte ich, dass beim Aufruf einer Domain mit Unterverzeichnis auf eine andere URL weitergeleitet wird.

Damit fange ich die aufgerufene Domain ab und leite diese auf die gewünschte Seite weiter:

RewriteCond %{HTTP_HOST} domain2.de$ [NC]
RewriteRule ^$ /index.php

Ich bekomme es einfach nicht hin einen Aufruf von domain2.de/aktion weiterzuleiten.

Folgendes klappt einfach nicht:

RewriteCond %{HTTP_HOST} !^domain2.de
#RewriteRule !^aktion/ http://www.domain2.de/inhalt1/main/aktion_1236.html

Damit erhalte ich einen Endlosschleife. Aber ich verstehe nicht warum?

Viele Grüße,
Robse

27.10.2009 11:03

2 Jörg Kruse

RewriteCond %{HTTP_HOST} !^domain2.de
#RewriteRule !^aktion/ http://www.domain2.de/inhalt1/main/aktion_1236.html

Damit erhalte ich einen Endlosschleife. Aber ich verstehe nicht warum?

"RewriteCond %{HTTP_HOST} !^domain2.de" heißt: wenn der Host nicht domain2.de. Diese Bedingung trifft auch auf http://www.domain2.de/inhalt1/main/aktion_1236.html zu - www.domain2.de entspricht nicht ^domain2.de. Wenn du das Begrenzungszeichen "^" weglässt, schließt das www.domain2.de mit ein. So sollte keine Endlosschleife entstehen:

RewriteCond %{HTTP_HOST} !domain2.de

27.10.2009 13:20

3 robse

Ok, die Endlosschleife ist jetzt behoben, allerdings meldet mir jetzt der Browser, dass es den Pfad www.domain2.de/aktion nicht gibt.

Das ist soweit auch richtig, da ich diese Anfrage ja gerne an http://www.domain2.de/inhalt1/main/aktion_1236.html weiterleiten lassen möchte.

Muss ich das dann mit REQUEST_URI lösen? Wenn ja, wie, ich hab diese Anweisung noch nie eingesetzt und werd auch aus den gängingen Dokus auch nicht schlau.

27.10.2009 13:46

4 Jörg Kruse

Das Ausrufezeichen musst du noch entfernen, sonst wird weitergeleitet, wenn diese URL nicht aufgerufen wird:

RewriteRule ^aktion/ http://www.domain2.de/inhalt1/main/aktion_1236.html

27.10.2009 13:51

5 robse

Das macht sinn :-).
Leider wird mir jetzt immer eine 404 ausgegeben, obwohl es den Pfad auf den weitergeleitet wird zu 100% gibt.

Hast du noch eine Idee woran es liegen könnte? Kann die rewrite Rule überhaupt funktionieren, wenn es den Ordner aktion garnicht gibt?

27.10.2009 13:58

6 Jörg Kruse

Ja, die Bedingung ist falsch - du möchtest ja von domain.2.de weiterleiten und nicht von einer anderen Domain. Lass mal alle "!" weg:

RewriteCond %{HTTP_HOST} domain2\.de
RewriteRule ^aktion/ http://www.domain2.de/inhalt1/main/aktion_1236.html [R]

27.10.2009 14:31 | geändert: 27.10.2009 14:33

7 robse

Danke für Deine Hilfe!
Der Fehler lag wohl am CMS was da noch mit gemischt hat.

29.10.2009 13:10

... 9 Monate später ...

8 Stefan (Gast)

Moiin!

Ist es in .htaccess möglich, für alle eingehenden Requests ohne "www." einen 301 redirect auf "www." einzurichten?

Also quasi
RewriteCond %{HTTP_HOST} !^www\.domain\.de$
RewriteRule ^(.*)$ http://www.domain.de/$1 [L,R=301] 
, allerdings nicht auf "domain" beschränkt, sondern auf für alle Domains?

Vielen Dank und Grüße!
Stefan

20.08.2010 13:07

9 Jörg Kruse

@ Stefan

ich habe deine Frage hier beantwortet

20.08.2010 14:09

Beitrag schreiben (als Gast)

Die Antwort wird nach der Überprüfung durch einen Moderator freigeschaltet.





[BBCode-Hilfe]