Zur Navigation

Permanent Weiterleitung 301

1 mirk (Gast)

Hi Com

Ich habe foldendes Problem. Meine Seite läuft nun etwa ein halbes Jahr. Meine Links wurde mittels Mod Rewrithe im .htaccess SEO freundlich umgeschrieben.
Nun aber will ich die anderst umschreiben um die Links noch effektiver zu gestallten.

Bisher war es so:
RewriteRule ^produkt_([0-9]+)\/.*.html$ index.php?produktdetail=$1 [L]

Neu sollte es so sein:
RewriteRule ^.*\/artikel_([0-9]+).html$ index.php?produktdetail=$1 [L]

Funktioniert auch so weit. Mein Problem ist aber das einige Seiten von ausserhalb verlinkt sind und auch im Google unter der alten Schreibweise indexiert sind.

Die will ich jetzt natürlich mit einem 301 auf die neuen Umleiten und komme nicht weiter.

Gruss Mirk

18.05.2010 13:53

2 Rudy

(ungetestet)

RewriteEngine On
RewriteRule ^produkt_([0-9]+)\/(.+)\.html$ http://${HTTP_HOST}/$2/artikel_$1.html [L,R=301]
RewriteRule ^.*\/artikel_([0-9]+)\.html$ index.php?produktdetail=$1 [L]

Edit: korrigiert - Zu beachten ist, dass Deine Rule auch sowas zulässt: http://domain.com//artikel_1.html

18.05.2010 19:53 | geändert: 18.05.2010 20:00

3 mirkz

Hi Rudy und Danke!

Edit: korrigiert - Zu beachten ist, dass Deine Rule auch sowas zulässt: http://domain.com//artikel_1.html

Das ist definitiv ein Problem weil meine Ketegorien schon so dargestellt werden http://domain.com/katname_1.html und durch das Beispiel oben krieg ich einen 404.

Bin ein absoluter Anfänger wie sollte es den richtig heissen?
Also statt produkt_1234/name-des-produkts.html soll es neu name-des-produkts/artikel_1234.html sein

19.05.2010 09:19

4 Rudy

Wenn Du wenigstens einen 404 bekommst ist ja alles ok. Wäre dummer wenn es z.B. einen Datenbankfehler erzeugen würde oder einen falschen 200 (OK) zurückgibt.

Die Rules würde ich dann samt Deiner gefragten Umleitung so schreiben:

RewriteEngine On
RewriteRule ^produkt_([0-9]+)/(.+)\.html$ http://${HTTP_HOST}/$2/artikel_$1.html [L,R=301]
RewriteRule ^.+/artikel_([0-9]+)\.html$ index.php?produktdetail=$1 [L]

19.05.2010 18:29 | geändert: 19.05.2010 18:29

5 mirkz

Hmmm cool bin dir sehr dankbar für das Rudy!!!

Ist ein kleiner fehler drin. Wenn ich auf einen Link von auserhalb klicke bekomme ich das

http://www.${http_host}.com/bla-bla/artikel_1234.html


RewriteRule ^produkt_([0-9]+)/(.+)\.html$ http://${HTTP_HOST}/$2/artikel_$1.html [L,R=301]

hab hier einfach meine domain "hardcoded" reingetan und es funktioniert

RewriteRule ^produkt_([0-9]+)/(.+)\.html$ http://www.meine-domain.eu/$2/artikel_$1.html [L,R=301]

Gruss

19.05.2010 19:54

6 Rudy

Oh, das $ sollte wohl ein % sein... war immer noch ungetestet :) Schön dass es läuft.

19.05.2010 20:44

7 mirkz

Ja das wars... :)

Krieg meine Suchresultate auch vernünftig umgeschrieben?

Also jetzt heisst es index.php?q=meine+suchwoerter

Am liebsten wäre mir so was: meine-suchwoerter.html hab aber Angst, es könnte Probleme geben mit den Kategorien die werden in id_katname.html umgeschrieben

Deshalb wäre auch meine-suchwoerter/resultate.html möglich

Ebenfalls mit einem 301 Permanent weil es auch hier externe links gibt die so lauten index.php?q=meine+suchwoerter...

Gruss


20.05.2010 10:35

8 Jörg Kruse

Suchabfragen würde ich nicht "SEO freundlich" umschreiben; Suchmaschinen möchten keine Suchergebnisseiten indizieren, das ist für sie nichts als Duplicate Content. Ich würde es von daher auch vermeiden, Suchergebnisseiten systematisch zu verlinken.

20.05.2010 11:41

9 mirkz

Irgendwie auch logisch... :) Danke für die Info Jörg. Tolles Forum hast du hier.

20.05.2010 12:01

10 mirkz

Bringe es einfach nicht ferig folgendes umzuleiten

ich will das wenn jemand index.php?q=blabla eingibt index.php?q=blabla&db=affili aufgeht... also einfach noch &db=affili am schluss... am liebsten mit einem 301 wieder

mein Versuch:
RewriteRule ^index.php?q=blabla&db=affili$ index.php?q=blabla

Gruss

24.05.2010 01:40 | geändert: 24.05.2010 01:41