Seite 1 von 1

htaccess 301 mehrerer domains klappt nicht

Verfasst: 22.06.2009, 16:45
von Frizzle
Holla,

Habe gerade ein Brett vorm Kopf, vielleicht kann mir jemand weiterhelfen.
Ich habe 3 Domains
meinedomain.de
meinedomain.com
meinedomain.eu

Die EU- und die COM-Domain will ich jetzt auf die DE-Domain weiterleiten, da alle den selben Content haben.
Zuerst wollte ich die EU auf die DE Domain weiterleiten mit diesem Code:

Code: Alles auswählen

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.meinedomain\.eu$ [NC]
RewriteRule ^(.*)$ http://www.meinedomain.de/$1 [R=301]
Wenn ich das aktiviere ist, ist die webseite nicht mehr erreichbar unter www.meinedomain.de
Als mächstes habe ich

Code: Alles auswählen

Redirect permanent / http://www.meinedomain.de/
probiert. Gleiches Ergebnis, www.meinedomain.de nicht mehr erreichbar.
Hat jemand ne Idee was da falsch läuft?

Verfasst:
von

Hochwertiger Linkaufbau bei ABAKUS:
  • Google-konformer Linkaufbau
  • nachhaltiges Ranking
  • Linkbuilding Angebote zu fairen Preisen
  • internationale Backlinks
Wir bieten Beratung und Umsetzung.
Jetzt anfragen: 0511 / 300325-0

Re: htaccess 301 mehrerer domains klappt nicht

Verfasst: 22.06.2009, 22:32
von net(t)worker
so mutt dat!!!

Code: Alles auswählen

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.meinedomain\.de$ [NC]
RewriteRule ^(.*)$ http://www.meinedomain.de/$1 [R=301]

8)

Verfasst: 23.06.2009, 21:40
von Frizzle
Ah super danke mit deinem Code klappts da bin ich schon mal froh.
Ich hoffe damit früher aus der Google Sandbox zu kommen, da meine COM-Domain schon mal kurzzeitig registriert war.
Cool wäre allerdings zu verstehen warum die Regel so funktioniert.
Soweit ich das versteh ist

Code: Alles auswählen

^(.*)$
der Filter für eingehende URLs, der bistimmt wann die Regel greift.
Und bedeutet auseinandergenommen "^" = beliebiger string (.*) = beliebige endung $ = beliebige get parameter. Im Endergebnis springt die Regel dann bei jedem String/URL an richtig?
Jetzt bedeutet

Code: Alles auswählen

http://www.meinedomain.de/$1 [R=301]
das auf www.meinedomain.de umgeschrieben wird richtig?
Die Zeile

Code: Alles auswählen

RewriteCond %{HTTP_HOST} !^www\.meinedomain\.de$ [NC] 
Schließt aus, dass die Regel anspringt wenn man schon auf der ".DE" Domain ist richtig? Da das "!" wahrscheinlich "nicht" bedeutet. [NC] ist No Case als nicht case sensitiv also Klein/Großschreibung ist egal.
Habe ich mir das richtig hergeleitet dieMod Rewrite Anleitung https://httpsd.apache.org/docs/1.3/mod/mod_rewrite.html ist etwas schwehr verständlich.

Verfasst:
von

Re: htaccess 301 mehrerer domains klappt nicht

Verfasst: 24.06.2009, 09:39
von core-tec
net(t)worker hat geschrieben:

Code: Alles auswählen

RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.meinedomain\.de$ [NC]
RewriteRule ^(.*)$ http://www.meinedomain.de/$1 [R=301]
8)
Hallo Net(t)worker,

das funktioniert einwandfrei, aber wie muss die Anweisungen aussehen,
damit alle eingehenden Requests www.xxx.xx/index.htm auf www.xxx.xx
zusätzlich umgebogen werden.

Ich habe es erfolglos mit

Code: Alles auswählen

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} !^www\.meinedomain\.de$ [NC]
RewriteRule ^(.*)$ http://www.meinedomain.de/$1 [R=301]

redirect 301 /index.htm http://www.meinedomain.de

probiert.

Folgendes Ergebnis soll erzielt werden:

domain1.de => hauptdomain.de
domain2.de => hauptdomain.de
domain3.de => hauptdomain.de
domain1.de/index.htm => hauptdomain.de
domain2.de/index.htm => hauptdomain.de
domain3.de/index.htm => hauptdomain.de

Vielen Dank für Deine Hilfe!

Re: htaccess 301 mehrerer domains klappt nicht

Verfasst: 24.06.2009, 10:21
von Mork vom Ork
core-tec hat geschrieben:wie muss die Anweisungen aussehen, damit alle eingehenden Requests www.xxx.xx/index.htm auf www.xxx.xx zusätzlich umgebogen werden.

Ich habe es erfolglos mit

Code: Alles auswählen

redirect 301 /index.htm http://www.meinedomain.de
probiert.
Redirect und auch RewriteRule haben nur die Möglichkeit, an einer einzelnen Stelle in der URL-Verarbeitung einzugreifen. Da Zugriffe auf / intern zur Weiterverarbeitung in /index.xy geändert werden (der Server muss ja wissen, welche Datei er ausliefern soll), funktionieren die beiden in diesem Fall nicht so einfach.

Dein Problem sollte sich mit folgenden Zeilen lösen lassen:

Code: Alles auswählen

RewriteCond %{THE_REQUEST} \s(.*/)index(\.(s?html?|php|txt))+\s
RewriteRule . http://example.com%1 [R=301,L]
In der Variablen THE_REQUEST steht die komplette erste Zeile der Browser-Anfrage, sie wird auch während der Verarbeitung nicht geändert und ist daher jene Stelle, an der sich / und /index.xy noch sicher unterscheiden lassen.