Zur Navigation

301 Weiterleitung

1 CyberRon

Guten Morgen zusammen,

ist eine 301 Weiterleitung nur nötig wenn man die Domain ändert oder auch wenn sich nur der Pfad ändert?

Sprich aus:
http://www.alte-domain.de/index.php?seite=startseite

wird:
http://www.alte-domain.de/startseite/

Vielen Dank für euere Hilfe.

Grüßle
Stefan

02.10.2008 08:48

2 Rudy

Wenn die Seite als Suchergebnis in Suchmaschinen aufscheint, solltest Du einen 301 einbauen, damit der Link aus dem Suchergebnis nicht tot ist und der Pagerank sich vererbt.

02.10.2008 09:09

3 CyberRon

Hallo Rudy, dank für die Antwort.
Jetzt habe ich ein kleines Problem, ich weiss nicht genau wie ich es per mod_rewrite umschreiben soll.

Also aktuell sieht es wie folgt aus:

http://www.domain.de/de/1-2/startseite.html

Das habe ich per mod_rewrite wie folgt verarbeitet - /1-2 habe ich verwendet um die jeweiligen Seiten zu steuern, /de steht für die Sprache, rest war fake:

RewriteEngine on
RewriteRule ^(.*)/(.*)-(.*)/(.*).html$ index.php?mid=$2&sid=$3&lang=$1

Jetzt soll die neue Domain aber so aussehen:

http://www.domain.de/startseite/

Der mod_rewrite Code sieht wie folgt aus:

RewriteEngine on
RewriteRule ^([A-Za-z]+)/$ index.php?mid=$1&sid=$2 [L]

Klappt auch wunderbar. Nur die 301 Geschichte klappt nicht. Ich habe es wie folgt aufgebaut:

RewriteEngine on
RewriteRule ^(.*)/(.*)-(.*)/(.*).html$ index.php?mid=$2&sid=$3&lang=$1 [R=301,L]
RewriteRule ^([A-Za-z]+)/$ index.php?mid=$1&sid=$2 [L]

Hat wer Rat für mich?
Herzlichen Dank vorab.

Stefan

02.10.2008 09:37 | geändert: 02.10.2008 10:34

4 Jörg Kruse

Hallo Stefan,

wenn man von A nach B rewritet und in umgekehrter Richtung von B nach A weiterleiten möchte, muss man aufpassen, das man keine Endlosschleife ausführt

Aber zuerst noch zu etwas grundsätzlichem:

RewriteRule ^(.*)/(.*)-(.*)/(.*).html$ index.php?mid=$2&sid=$3&lang=$1

Wenn es sich bei "sid" um die Session-ID handelt, solltest du diese nicht in die statische URL übernehmen, anderfalls erhalten die Suchmaschinenbots bei jedem Besuch eine andere URL mit der Folge, dass derselbe Inhalte unter einer Vielzahl von URLs indiziert wird.

02.10.2008 09:47 | geändert: 02.10.2008 09:48

5 CyberRon

nein, sid ist eher eine unglückliche Benamung :-) die auch nur ein intger Wert ist und keine Session.

Aber wie muss ich die Syntax für die mod_rewrite schreiben das die 301 Weiterleitung gültig ist und aus http://www.domain.de/de/1-2/produkt.html nun http://www.domain.de/produkt/ wird.

*Grübel*

02.10.2008 10:26

6 Jörg Kruse

Ah, ok, dann ist das mit sid kein Problem :)

Mir sind aber noch ein paar Sachen unklar:

RewriteRule ^([A-Za-z]+)/$ index.php?mid=$1&sid=$2 [L]

Links wird nur eine Variable gespeichert, rechts werden aber zwei wieder aufgenommen - worauf soll sich $2 beziehen?

RewriteRule ^(.*)/(.*)-(.*)/(.*).html$ index.php?mid=$2&sid=$3&lang=$1 [R=301,L]

Das heißt: du möchtest von "a/b-c/d.html" weiterleiten auf "index.php?mid=b&sid=c&lang=a"? In Bezug auf SEO scheint mir das nicht sehr sinnvoll

Abgesehen davon sollte bei einer Weiterleitung grundsätzlich die vollständige URL angegeben werden, also z.B.:

RewriteRule ^(.*)/(.*)-(.*)/(.*).html$ http://example.com/index.php?mid=$2&sid=$3&lang=$1 [R=301,L]

02.10.2008 10:47 | geändert: 02.10.2008 10:48

7 CyberRon

$2 ist hier in dem Fall ein Überbleibsel und hat da nichts mehr zu suchen. ;-)

In Bezug auf SEO scheint mir das nicht sehr sinnvoll

Meinst Du man solle die 301 einfach vergessen, und einfach auf saubere URLS umbauen? Aktuell hat die Seite ein PageRank von 4.

02.10.2008 11:21

8 Jörg Kruse

Ich wollte mich mit meiner Frage eigentlich erst einmal vergewissern, ob du diese Weiterleitung wirklich in dieser Richtung vornehmen möchtest oder nicht eher in der entgegengesetzten Richtung. Bei "index.php?mid=b&sid=c&lang=a" scheint es sich um die alte dynamische URL zu handeln, bei "a/b-c/d.html" um eine neue statische URL. Normalerweise leitet man von der alten auf die neue URL weiter und nicht umgekehrt. Es sei denn, man möchte wieder zur alten dynamischen URL zurückkehren.

Meinst Du man solle die 301 einfach vergessen, und einfach auf saubere URLS umbauen? Aktuell hat die Seite ein PageRank von 4.

Solange keine externen Links, auf die du keinen Einfluss hast, auf die alten URLs verweisen, kann man auf Weiterleitungen auch verzichten, da Pagerank- und Ranking-Verluste dann nur temporärer Natur sein sollten

02.10.2008 11:31 | geändert: 02.10.2008 11:34

9 CyberRon

Hmm, ich bin verwirrt.
Mein Grundgedanke war, wenn diese Anfrage rein kommt:

http://www.domain.de/de/1-2/startseite.html

soll das hier angezeigt werden:
http://www.domain.de/startseite/

Jetzt tut sich bei mir der Gedanke auf, das ich die Seite einfach auf die neuen URL umstelle aber lasse die alten URLs ebenfalls zu. Eben wegen den Links auf die ich keinen Einfluss habe, denn diese gibts.

Kann sowas dann als doppelter Content gesehen werden?

02.10.2008 11:43 | geändert: 02.10.2008 11:44

10 Jörg Kruse

Hm, ich glaube, ich verstehe so langsam, was du meinst: du möchtest eine alte statische auf dei neue statische URL weiterleiten? Deine Beispielweiterleitung passte da halt nicht so ganz zu - so dass mir nicht klar war, wohin du weiterleiten möchtest

Wenn bei Eingabe von http://www.domain.de/de/1-2/startseite.html weitergeleitet werden soll auf http://www.domain.de/startseite/ - dann probier mal folgende Rule:

RewriteRule ^(.*)/(.*)-(.*)/(.*).html$ http://www.domain.de/$4/ [R=301,L]
RewriteRule ^([A-Za-z]+)/$ index.php?mid=$1 [L]

02.10.2008 11:55 | geändert: 02.10.2008 11:56