Zur Navigation

Mehrere Domains per htaccess 301 unterschiedl. weiterleiten

1 Philipp

Hallo alle zusammen,

okay, verschiedenste htaccess Möglichkeiten habe ich gelesen, nun habe ich aber folgende Situation.
(Apache, mod rewrite installiert)
Ich habe ein Verzeichnis, auf dem 5 Domains landen.
Alle landen automatisch auf index.php
Nun soll aber www (und ohne www).xyz1.de --> domain1.php
xyz2.de auf -->irgendwasanderes.php
usw.
Alles im selben Verzeichnis. Confixx lässt mich das so nicht machen, also muss ich selber an der htaccess rumfummeln.
Das alles soll als Permanent /301 redirect, also google freundlich laufen. Habt Ihr da eine Idee für mich ?

Danke und einen schönen Sonntag !

Philipp

25.02.2007 11:55

2 Jörg Kruse

Hallo Philipp,

eine 301 Weiterleitung wird in diesem Fall nicht einmal benötigt, mit mod_rewrite könntest du die Domains serverintern weiterleiten, wobei der Host in der RewriteCond ausgewertet wird; probier es mal so:

RewriteEngine on

RewriteCond %{HTTP_HOST} ^(www\.)?xyz1\.de
RewriteRule ^index\.php$ http://%{HTTP_HOST}/domain1.php [L,QSA]

RewriteCond %{HTTP_HOST} ^(www\.)?xyz2\.de
RewriteRule ^index\.php$ http://%{HTTP_HOST}/irgendwasanderes.php [L,QSA]

Das QSA sorgt hierbei dafür, dass ein eventueller Query String erhalten bleibt.

25.02.2007 12:19

3 Philipp

Hallo nochmal,

okay, ich habe das mal ausprobiert, aber der server ignoriert die befehle einfach... komisch...
Ich werde mal morgen bei meinem hoster anrufen ;-)

25.02.2007 13:51

4 Jörg Kruse

der server ignoriert die befehle einfach

Vielleicht benötigt er auch noch eine RewriteBase:

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?xyz1\.de
RewriteRule ^index\.php$ http://%{HTTP_HOST}/domain1.php [L,QSA]

RewriteCond %{HTTP_HOST} ^(www\.)?xyz2\.de
RewriteRule ^index\.php$ http://%{HTTP_HOST}/irgendwasanderes.php [L,QSA]

25.02.2007 14:30

5 Philipp

Hallo,

hm, nein, will er auch nicht.... ;-)

Phil

25.02.2007 15:24

6 Peer Wandiger (Gast)

Ich überlege schon eine Weile, ob ich mehrere Domains einfach per htaccess auf Unterseiten "Rewriten" kann.

Zum Beispiel
www.domainA.de -> normal auf index.php
www.domainB.de -> auf sport.php
www.domainC.de -> auf urlaub.php

Diese Seiten haben dann jeweils noch Unterseiten.
Duplicate Content sollte kein Problem sein, da die einzelnen Unterseiten nicht miteinander verlinkt sind. Es gibt keine Links zwischen diesen 3 Internet-Auftritten.

Akzeptiert Google eine solche "Weiterleitung" per htaccess Rewrite Rule und sieht einfach 3 separate Internet-Auftritte oder gibt es da Probleme?

17.04.2007 11:45

7 Jörg Kruse

Hallo Peer,

wenn du die Domains nur auf die Dateien rewritest und nicht weiterleitest, bekommt Google hiervon gar nichts mit. Wenn die Domains noch Unterseiten haben, solltest du statt auf die Dateien sport.php, urlaub.php auf Verzeichnisse rewriten, also z.B. auf /sport, /urlaub

RewriteEngine on

RewriteBase /

RewriteCond %{HTTP_HOST} ^(www\.)?domainB\.de [NC]
RewriteRule ^(.*)$ sport.php [L,QSA]

RewriteCond %{HTTP_HOST} ^(www\.)?domainC\.de [NC]
RewriteRule ^(.*)$ urlaub.php [L,QSA]

Empfehlen würde ich dies allerdings nur als Not-Lösung, d.h. wenn du aus irgendwelchen Gründen die Domains nicht über die Serverkonfiguration (als Vhosts) auf die Verzeichnisse leiten kannst.

17.04.2007 12:00

8 Peer Wandiger (Gast)

Danke für die schnelle Antwort.

Es geht soweit. Meine Fragen:

1) Anscheinend wird die Rewrite-Rule nicht nur bei der Domain (Also wenn nur www.domainB.de eingegeben wird), sondern auch bei URLs mit Dateinamen angewendet (www.domainB.de/sport-unterseite.php)

Kann man das irgendwie beeinflussen?


2) Zudem gibt es ein Problem mit meinen CSS-Dateien.
Während Bilder mit einem relativen Pfad "/Bilder/bild1.jpg" angezeigt werden, werden die CSS-Dateien unter "/CSS/layout.css" nicht genutzt und die Seite sieht recht besch...en aus.

Irgendeine Idee woran das liegt?


3) Du hattest noch was von "Weiterleiten" erzählt? Wäre das eine Möglichkeit die Google akzeptiert und wenn ja wie würde das funktionieren?


Sorry für die vielen Fragen, aber htaccess ist wirklich nicht mein Spezialgebiet :-)

17.04.2007 13:18

9 Jörg Kruse

1) Anscheinend wird die Rewrite-Rule nicht nur bei der Domain (Also wenn nur www.domainB.de eingegeben wird), sondern auch bei URLs mit Dateinamen angewendet (www.domainB.de/sport-unterseite.php)

Kann man das irgendwie beeinflussen?

Ja, natürlich. Das (.*) steht für einen beliebigen Namen. Du kannst die Rule auf den Zugriff auf die Startseite begrenzen:

RewriteCond %{HTTP_HOST} ^(www\.)?domainB\.de [NC]
RewriteRule ^$ sport.php [L,QSA]

2) Zudem gibt es ein Problem mit meinen CSS-Dateien.
Während Bilder mit einem relativen Pfad "/Bilder/bild1.jpg" angezeigt werden, werden die CSS-Dateien unter "/CSS/layout.css" nicht genutzt und die Seite sieht recht besch...en aus.

Irgendeine Idee woran das liegt?

Ist das Style denn unter www.domainB.de/CSS/layout.css erreichbar?

3) Du hattest noch was von "Weiterleiten" erzählt? Wäre das eine Möglichkeit die Google akzeptiert und wenn ja wie würde das funktionieren?

Das würde folgendermaßen funktionieren:

RewriteCond %{HTTP_HOST} ^(www\.)?domainB\.de [NC]
RewriteRule ^$ www.domainB.de/sport.php [R=301,L,QSA]

Die Frage ist allerdings, ob dies Sinn macht: in der Adresszeile würde dann www.domainB.de/sport.php stehen statt www.domainB.de/, und die Browser müssten zwei Anfragen senden, um zum Ziel zu gelangen, statt nur einer. Google würde diese Weiterleitung zwar akzeptieren, aber sie wäre auch hier gar nicht notwendig?

17.04.2007 15:34 | geändert: 17.04.2007 15:36

10 Peer Wandiger (Gast)

Danke Jörg,
du hast mir sehr weitergeholfen.
Werde deinem Forum nun öfters einen Besuch abstatten.

18.04.2007 12:00