htacces - Vorgehensweise und Schreibweise für Umleitung so korrekt?

Hallo,

in Kürze wird mein SW-Shop - der derzeit unter einer später nicht mehr zu verwendenden Subdomain läuft - online gehen. Da es sich um einen Wechsel des Shopsystems handel, habe ich alle URLs so angelegt, wie sie im derzeitigen Shopsystem auch benannt sind. D.h. am Tag X wird die Domain vom aktiven Shop auf den SW-Shop geleitet (bzw. umgehostet), so dass die Deeplinks alle noch passen sollten.

Ich hoffe, meine Denkweise ist so korrekt?

Einige URLs des alten Shops, wird es aber im neuen Shop nicht mehr geben - leider mehr, als ich zunächst angenommen habe. Im alten Shop z. B. sind die Artikel, die es in 4 Farben gibt, auch als 4 Artikel angelegt. Bei SW wird das ein Variantenartikel. Dieser hat eine von mir definierte URL. D.h. die 3 übrigen für die weiteren Farben sind ungenutzt.

Mein Plan war nun, eine 301er Umleitung in der htaccess zu machen, und zwar von den 3 übrig gebliebenen URLs auf die eine, die erhalten bleibt.

Gäbe es hierzu noch eine Alternative? Das Freitextfeld für die eigene URL ist derzeit auch bei den Varianten mit der ersten URL gefüllt. Könnte ich hier bei den weiteren 3 Farben das Feld mit den übrig gebliebenen 3 URLs füllen?

Wenn die htaccess-Variante die richtige ist, ist dann die Schreibweise so wie ich sie bisher bei anderen Seiten verwende auch bei SW möglich:

RewriteEngine On
Options +SymLinksIfOwnerMatch
RewriteCond %{HTTP_HOST} ^domain.de
RewriteRule (.*) http://www.domain.de/$1 [R=301,L]


RewriteRule ^/Verzeichnis/Seite$ /Verzeichnisneu/seiteneu [R=301,L]

RewriteRule ^/seitealt$ /seiteneu [R=301,L]

Unter ist die erste Zeile meines Codes schon vorhanden. Bedeutung der Zeile 2 weiß ich leider nicht mehr. Zeilen 3 und 4 leiten glaube ich von ohne www. zu mit www. um.

Zeilen 5 und 6 sind die derzeitigen Schreibweisen. Die URLs haben im alten und im neuen Shop keine Endung htm/html. Die Domain selbst ist bei alt und neu identisch.

Einsetzen würde ich meine Zeilen vor und nach den bereits vorhandenen SW-Einträgen.

Ich hoffe, es versteht jemand meine wirren Erklärungen und kann mir weiterhelfen, den testen kann ich es ja schlecht, da die Domains noch unterschiedlich sind.

LG

Kann niemand helfen?

Ich habe jetzt wohl jede im Web und Forum auffindbare Schreibweise ausprobiert:

Redirect 301 /old domain.de/neu

RewriteRule ^/nichtvorhandenerartikel$ /cat/index/sCategory/60 [R=301,L]

RewriteRule ^nichtvorhandenerartikel/$ http://www.domain.de/cat/index/sCategory/60 [R=301,L]

RewriteRule ^nichtvorhandenerartikel/$ /cat/index/sCategory/60 [R=301,L]

RewriteRule ^nichtvorhandenerartikel$ http://www.domain.de/cat/index/sCategory/60 [R=301,L]

RewriteRule ^nichtvorhandenerartikel$ /cat/index/sCategory/60 [R=301,L]

(Nur ein Auszug, die übrigen habe ich nicht dokumentiert) Jeweils einzeln eingefügt vor

Ansonsten ist die htacces originalbelassen.

Ich möchte insgesamt mehrere nicht mehr vorhandene Artikel entweder auf das Verzeichnis oder eine externe Domain weiterleitern, jenachdem, was sich einrichten lässt.

Bisher lande ich nur auf der Startseite.

In der Datenbank s_core_rewrite_urls habe ich es ebenfalls erfolglos versucht.

für die varianten könntest du die dem alten artikel entsprechende variante im neuen shop zusammenstellen und dann die url aus der adressleiste kopieren, du solltest dann automatisch wieder bei der richtigen artikelvariante landen. ist zwar je nach anzahl der artikel ne menge arbeit, aber vllt regnets ja am wochenende :slight_smile:

Die Redirect-Zeile sollte zb so aussehen:
 

Redirect 301 /kochlust-und-provence/trinken/kaffee/114/adorno?number=SW10114 https://neuedomain.tld/kochlust-und-provence/trinken/kaffee/114/adorno?number=SW10114

 

1 „Gefällt mir“

Vielen Dank. Die Umleitung klappt jetzt nach extern und intern. Bzgl. der Varianten: Ich meine es so verstanden zu haben, dass bewusst nur eine (Wunsch-)URL verwendet wird, weil da was mit canonical umgeleitet wird um doppelte Inhalte zu vermeiden. Meine Variante hat dann hinter der von mir bestimmten URL noch den Anhang ?number=12565.2 oder ähnlich. Du meinst vermutlich, diese soll ich ausfindig mach und dorthin umleiten? Ja, dann müsste ich wirklich auf Regen warten :slight_smile: Es wäre jedoch auch möglich, die drei übrig gebliebenen URLs aus dem alten Shop auf die eine im neuen Shop umzuleiten. Oder spricht da etwas dagegen?

Dazu musst Du nicht die htaccess verwenden. Das kannst Du über die Tabelle s_core_rewrite abwickeln.
Wenn die neue URL /hemd-verschiedene-farben.htm lautet, leitest Du die alten URLs (/hemd-blau.html, /hemd-rot.html, usw) auf die neue URL weiter.
Schau Dir mal den Thread an: http://forum.shopware.com/discussion/comment/68395/

1 „Gefällt mir“

wie oben geschrieben, hatte ich an der Tabelle auch schon herumgebastelt, aber ohne Erfolg. Es gab noch einen weiteren Thread dazu. Bei einem Versuch bin ich immer auf der Startseite gelandet, bei einem anderen bekam ich die Fehlermeldung, dass zu diesem Ziel bereits eine Umleitung besteht.

Daher die Frage, ob ich versch. Urls zu einem Ziel umleiten kann. In anderen Programmen hatte ich das schon gemacht, aber bei SW hat manches nicht so funktioniert…

Ich habs über die htacces gemacht. War dann doch einfacher, da ich alle Daten in Excel-Tabellen habe und zusammenkopieren konnte :slight_smile:

Genau „?number=xxxx.y“ ist eben die artikelnummer einer bestimmten variante eines artikels. im prinzip kannst du beliebig viele „quellen“ auf ein „ziel“ routen, was aber vllt aus suchmaschinensicht nicht sonderlich gut ist.

zum testen kannst du in den grundeinstellungen unter dem punkt „storefront“ in den einstellungen für SEO/Router das verhalten für nicht gefundene seiten einstellen, standardmäßig steht das auf „auf startseite umleiten“. hier hab ich beim entwickeln immer „standard fehlerseite“ ausgewählt, damit ich sehe, was (und evtl warum) schiefläuft.

bei den URLs der Kategorien komme ich nicht umhin, mehrere auf ein Ziel zu leiten (3-4). Bei den Artikeln mache ich mir vlt dann noch die Arbeit und ergänze die Variante.

Das ist ja im Prinzip noch mein geringstes Problem. Bei SW konnte ich die URLs ja quasi genau dem derzeitigen Shopystem nachbauen, mit Ausnahme eben der übrig gebliebenen URLs. Wenn die Domain umgeleitet wird, sollten diese also von extern noch genauso erreichbar sein.

Nicht bedacht habe ich die Bildergeschichte und die wiegt bei mir schwerer. 90% der Besucher kommen über die Bildersuche, das liegt einfach an der Produktart. Bisheriger Aufbau www.domain.de/bildname.jpg

Die Dateinamen sind alle gleichgeblieben, jedoch schiebt SW ja die verzeichnisse www.domain.de/5g/r9/e4/bildname.jpg dazwischen. Es wird ein paar Tage dauern, bis google merkt, dass die Bildadresse nicht mehr stimmt. Wenn google dann auf die Artikelseite weiterleitet, greift meine Umleitung, wenn die URL nicht stimmt. Wird das Bild aufgerufen, erscheint die Startseite. Vermute ich - ich kann es ja nicht testen.

Dann werden die Bilder mit der alten URL nach und nach verschwinden und die neuen sind im Index, aber nicht zu finden. Ich gehe davon aus, dass die eingeschobenen Verzeichnisse hier störend wirken.

Mein Testshop ist vor 4 Monaten live gegangen, alle Bilder sind im Index, aber erscheinen nicht in den Ergebnissen. Zumindest nicht von meiner Seite. Von Produktlistern (nicht google) schon.

Ich muss das alte Thema nochmal ausgraben… Gerade taucht noch ein Problem auf.

Die Umleitung in der htacces klappt mit dieser Zeile

Redirect 301 /altesverzeichnis  /neuesverzeichnis

Nun möchte ich von einer solchen Adresse umleiten:

Redirect 301 /shop/index.php/home/name/suchbegriff/gesuchterbegriff/suche/1/herst/1/   /neuesverzeichnis

das funktioniert nicht, auch nicht wenn ich den / hinter der 1 weglasse.

Vom Aufbau her müsste das doch richtig sein. Stört da die index.phpi im Pfad?

 

LG

Ich hole das Thema nochmal nach oben, in der Hoffnung dass jemand eine Lösung weiß.

Nachdem ich ca. 2000 URLs per 301 in der htaccess umgeleitet habe, wundere ich mich, dass immer weitere mit 404-Fehler bei den WMT auftauchen.

Nun habe ich festgestellt, dass der größte Teil der Umleitungen gar nicht greift. Da diese Umleitungen auf die Startseite erfolgen, ist es zunächst nicht aufgefallen.

Wie oben geschrieben, funktionieren alle Umleitungen mit dieser Schreibweise:

Redirect 301 /altesverzeichnis  /neuesverzeichnis

Dann gibt es noch rechts sonderbare Konstellationen wie die hier genannte: /shop/index.php/home/name/suchbegriff/gesuchterbegriff/suche/1/herst/1/

und weitere Schreibweisen des alten Systems (keine sprechenden URLs) bei denen die Umelitung nicht greift. Diese Urls sind ein Stück weit gleich. Sie beginnen mit /shop/, /shop2/, username- usw.

Mit würde es ausreichen, wenn ich pauschal alle URLs die z.B. mit /shop/ beginnen auf ein Ziel umleiten kann. Mit * oder ähnlich. Gibt es hier eine Schreibweise, die zuverlässig funktioniert? Alternativ kann es auch ein Eintrag in der Datenbank sein.

LG