Hallo Community, wer kann mir erklären was ich hier falsch mache: Ich möchte in der .htaccess eine Umleitung machen die von einem Pfad ohne abschließenden slash zu einem mit abschließendem slash weiterleitet. Gemacht habe ich das so Redirect 301 /meine-seite-ohne-slash /meine-seite-ohne-slash/ Wenn ich nun im Browser meine Seite mit dem alten Pfad aufrufe lande ich in Shopware auf der Startseite und in der Adresszeile steht sowas www.meineseite.de/meine-seite-ohne-slash///////// Was ist da falsch? Kann ich so nicht umleiten?
Müsste da am Ende nicht ohnehin die komplette URL mit Domains stehen? Anyway. Das Problem ist wahrscheinlich, dass beim normalen Redirect nicht das Ende erkannt wird, immer wieder einen Trailing Slash anhängt und irgendwann aussteigt. Versuch mal folgendes (ungetestet) RedirectMatch 301 ^/meine-seite-ohne-slash$ http://www.meinedomain.tld/meine-seite-ohne-slash/
Mit ^ und $ definierst Du Anfang und Ende des Strings, also schließt Du aus, dass der den Slash beim zweiten Mal wieder erkennt. Es ginge auch über RewriteCond und RewriteRule, wo Du mit [L] die letzte Anwendung auf die regel definieren könntest, aber probiere erst mal den Einzeiler. (Vorher Browser Cache löschen! 301 Redirects werden vom Browser gecacht)
Hallo tschersich, super! Das klappt. :thumbup: Ist RedirectMatch etwas anderes als Redirect?
Das freut mich! Mit RedirectMatch lassen sich statt “platte” URLs reguläre Ausdrücke nutzen, was es etwas flexibler macht.
Hallo Zusammen, Wir hatten auch das Problem nach der Umstellung von SW3 das unsere Kategorien früher ohne einen Slash geändert haben und jetzt mit einem. Die Vermutung war Richtig, das nicht erkannt wird wan der Link zu Ende ist. Deshalb hilft eigentlich bereits den Anfangs-^ und Endpunkt zu setzten. [code]RedirectMatch 301 ^/pfad/ohne Slash http://www.deinedomain.de/pfad/mitslash/ [/code] Beste Grüße Patrick