Hallo zusammen,
Ich habe Probleme mit manchen Redirects.
Erste Frage wo deponiert ihr eure Redirects?
Ich habe meine in der .htaccess im public folder. Macht ihr das auch so?
In meinem Fall geht es um alte SW5 Links die jetzt auf die neuen SW6 Links gemappt werden sollen. Ich habe allerdings das Problem, dass es bei manchen Links nicht korrekt funktioniert.
Der Redirect sieht ungefähr so aus:
Redirect 301 /CategoryA/SubcategoryB/produktname http://example.com/produktname
Shopware versucht dann allerdings folgende URL aufzurufen http://example.com/CategoryA/SubcategoryC//Subcategoryb/produktname
Ich verstehe partout nicht was hier passiert, anscheinend routet Shopware intern hier noch irgendwie um, aber es kommt jedenfalls Kuddelmuddel bei raus. Und spannenderweise klappt es bei großen Teilen der Links, bei machen aber eben nicht.
Wo habt ihr eure Redirects? Müssen sie in eine andere .htaccess? Näher an der Wurzel im Filetree beispielsweise, oder wie macht ihr sowas? Schonmal jemand solche Probleme gehabt?
EDIT: Es ändert sich auch teilweise, wenn ich meine Docker-Umgebung neu hochfahre sind es andere Links die nicht funktionieren.
Das wird immer mysteriöser
Cache gelöscht habe ich auch, Indizes aktualisiert.
Keiner eine Idee wie man das löst? Irgendwie scheint schopware hier zwischendrin eigene Umleitungen zu fahren. Aber keine Ahnung wie man das Debuggt oder hinter die Probleme kommt.
Niemand irgend einen Hinweis oder eine Idee wie man das richtig oder macht, oder fixt?
Mit Redirect 301 hatte ich auch schon öfters Probleme. Nutze RewriteRule, damit sollte es problemlos funktionieren.
Auch für explizite Redirects von einem Link zu einem neuen, ohne Pattern oder Regeln?
Ja, auch ein exakter Link ist ein Pattern, halt ohne variablen Platzhalter.
Ich habe damals mit diesem Tool mit einem Klick alle Redirect 301 umschreiben lassen. Vielleicht funktioniert es bei dir auch: 301 Redirect Bulk Generator | Pixel Kicks
Hey Max,
Danke für die schnellen Antworten.
Das Problem ist nicht das umschreiben, ich habe bereits alle Regeln. Das Problem ist nach wie vor, das nicht korrekt weitergeleitet wird.
Auch mit RewriteRule bekomme ich für einige Links (die gleichen) das selbe Verhalten. Die neue Url wird nicht korrekt aufgerufen, sondern irgendwie komisch angehängt, statt den alten Link korrekt zu ersetzen. Wie im ersten Post beschrieben
Wenn deine Redirect URL absolut anstatt dynamisch ist, dann kann das nicht passieren.
Ja das dachte ich auch,
Die URL auf die redirected werden soll, sprich die neue URL ist absolut angegeben, ich bekomme aber trotzdem diesesn Kuddelmuddel.
Meine Regel sieht so aus
Redirect 301 /CategoryA/SubcategoryB/produktname http://example.com/produktname
Alternativ so
RewriteRule /CategoryA/SubcategoryB/produktname http://example.com/produktname [L,R=301]
In beiden Fällen das gleiche
Das ist auch keine valide Regel:
RewriteCond %{HTTP_HOST} ^example\.de$
RewriteRule ^CategoryA/SubcategoryB/produktname$ http://example.com/produktname? [L,R=301]
Danke dir Max,
Beste.
Es scheint so als funktioniert das jetzt sauber, nachdem ich die RewriteRule korrekt angegeben habe. Sieht aus als ob das die Probleme löst. Super Hinweise, vielen Dank.