Zur Navigation

301 Weiterleitung Shop Ebenen umgestellt

1 RaySumeragi

Hallo,

ich wieder ;) ... ich habe mich schon mehr in das Thema .htaccess Weiterleitungen eingearbeitet. Aber ich stoße auf ein Porblem, was ich mal wieder nicht nachvollziehen kann:

Ich habe in einem Shop 2 Ebenen gehabt. /ebene/Shop ... und dann kam erst der Shop. Diesen langen URLs habe ich mich entledigt und habe nun nur noch die Weiterleitungen einzurichten, dass er die Ranking mit übernimmt. Also muss ich eig nur die beiden Ordner rausschmeißen.

Meine Anweisung:
RewriteRule ^/ebene/Shop(.*)$ http://der-host.de/$1 [R=301,L]

Er "vernichtet" die Ordner auch schön, aber ich habe dann http://der-host.de//kategorie ... wo kommt der 2. / her? Ich habe schon dirverse Sachen versucht, aber er mach diesen / immer dazu.

20.02.2012 14:52

2 Jörg Kruse

In $1 steht das drin, was in (.*) enthalten ist, also alles nach /ebene/Shop. Entweder fügst du vor dem (.*) noch einen Slash ein, oder du entfernst den Slash vor dem $1

20.02.2012 15:06

3 RaySumeragi

Danke, das habe ich mir eigentlich auch gedacht, aber anscheint spielt mir irgendwas nen Streich!

Ich habe natürlich auch Seiten, die nur /eben als Unterordner hatten. Da habe ich eine 2. Weiterleitung gemacht. Ich denke aber das verträgt sich nicht zusammen. Wie sollte man das gestalten? Beide getrennt abfangen. (hab ich versucht aber anscheint falsch)

Hier meine derzeitigen Anweisungen:

RewriteRule ^eben/Shop/(.*)$ http://der-host.de/$1 [R=301] 
RewriteRule ^ebene(.*)/$ http://der-host.de/$1 [R=301,L]

(PS ich geh mal davon aus, dass Das "L" in der 1. Anweisung nicht gesetzt werden darf)

20.02.2012 15:53

4 Jörg Kruse

(PS ich geh mal davon aus, dass Das "L" in der 1. Anweisung nicht gesetzt werden darf)

Wieso das? das L verhindert ja, dass bei Zutreffen eines Musters keine weiteren Rules mehr angewandt werden. Das macht gerade in dem vorliegenden Fall Sinn, da die zweite Rule auch dort greift, wo die erste greift

Den Slash im Muster der zweiten Rule würde ich eher so setzen:

RewriteRule ^ebene/(.*)$ http://der-host.de/$1 [R=301,L]

Die beiden Rules ließen sich aber auch zusammenfassen:

RewriteRule ^ebene/(Shop/)?(.*)$ http://der-host.de/$2 [R=301,L] 

20.02.2012 16:25 | geändert: 20.02.2012 16:25

5 RaySumeragi

Super! So habe ich mir das gedacht, vielen Dank :)

20.02.2012 16:29

Beitrag schreiben (als Gast)

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





[BBCode-Hilfe]