# 404 mittels Plugin abfangen und rerouten?

**URL:** <https://forum.shopware.com/t/404-mittels-plugin-abfangen-und-rerouten/41704>\
**Category:** Programmierung\
**Created:** [24. November 2016 um 17:44 UTC](https://forum.shopware.com/t/404-mittels-plugin-abfangen-und-rerouten/41704 "2016-11-24T17:44:03Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![floatax1](https://avatars.discourse-cdn.com/v4/letter/f/50afbb/32.png) [@floatax1](https://forum.shopware.com/u/floatax1)\
**Post date:** [24. November 2016 um 17:44 UTC](https://forum.shopware.com/t/404-mittels-plugin-abfangen-und-rerouten/41704/1 "2016-11-24T17:44:03Z")

</div>

Hallo,

wir haben in unserem Shop die Kategorie-URLs bearbeitet und gekürzt und für die SEO optimiert.

Bevor wir die Änderung aber live schalten, möchten wir gern noch die alten URLs auf die entsprechende neue Struktur umleiten. Da sich lediglich die URLs in der s\_core\_rewrite\_urls geändert haben und wir vorher eine Kopie der alten Daten gemacht haben, möchte ich nun mittels eines Plugins einfach die alten URLs auf die neuen umleiten. Per htaccess ist das leider nicht möglich, da hiervon etwa 500.000 Seiten betroffen sind.

Meine Idee wäre deshalb die folgende:  
Shopware versucht wie bisher, die angefragte URL aufzulösen mittels der s\_core\_rewrite\_urls. Findet Shopware jedoch nichts, wird normalerweise eine 404 Seite gezeigt. Hier soll das Plugin eingreifen: es soll den angefragten Request abfragen, in der&nbsp; **alten** &nbsp;s\_core\_rewrite\_urls danach suchen und bei einem Treffer zu der neuen Kategorie (Kategorie-ID ist dann ja bekannt) mittels 301 umleiten. Wird das Plugin auch in der alten rewrite Tabelle nicht fündig, soll die URL auseinander genommen werden und schematische Bestandteile gesucht werden, nach denen dann wiederum gesucht werden kann.

Meine Frage:  
Welches Event sollte ich am besten nutzen, um der 404 Seite vorzugreifen? Bisher habe ich es mit der&nbsp;_Enlight\_Controller\_Front\_RouteStartup_&nbsp;probiert.  
Wie bekomme ich aus den EventArgs (Enlight\_Event\_EventArgs) die URL ausgelesen?  
Und wie kann ich bei erfolgreichem Fund einer neuen URL das Routing entsprechend anpassen?

Vielen Dank vorab!

---

<div class="post-metadata">

**Author:** ![steinsoftware](https://avatars.discourse-cdn.com/v4/letter/s/b487fb/32.png) [@steinsoftware](https://forum.shopware.com/u/steinsoftware)\
**Post date:** [25. November 2016 um 09:32 UTC](https://forum.shopware.com/t/404-mittels-plugin-abfangen-und-rerouten/41704/2 "2016-11-25T09:32:22Z")

</div>

Und wieso nicht einfach einen weiteren Eintrag in der s\_core\_rewrite\_urls?

Und sowieso:

Standardmäßig wird da ja nichts aus s\_core\_rewrite\_urls herausgelöscht so weit ich weiß. Das heißt, dass hätte direkt funktionieren müssen soweit ich die Doku richtig verstanden habe.

Auch eine 404-Seite wird mit den Standardeinstellungen eigentlich nicht angezeigt (und ist Einstellbar).

---

<div class="post-metadata">

**Author:** ![floatax1](https://avatars.discourse-cdn.com/v4/letter/f/50afbb/32.png) [@floatax1](https://forum.shopware.com/u/floatax1)\
**Post date:** [25. November 2016 um 09:38 UTC](https://forum.shopware.com/t/404-mittels-plugin-abfangen-und-rerouten/41704/3 "2016-11-25T09:38:07Z")

</div>

Die neue URL-Struktur soll ab sofort bei Google indexiert werden, weswegen die alten URLs nicht einfach “nur gefunden und angezeigt” werden sollen, sondern auf die jeweils NEUE URL mittels 301 weitergeleitet werden soll.

Der Eintrag in der s\_core\_rewrite\_urls würde doch lediglich bewirken, dass der Inhalt auch unter der alten URL gefunden werden würde oder? Da hier kein besonderer HTTP Code ausgegeben wird, würde Google den gleichen Inhalt also unter zwei unterschiedlichen URLs indexieren, was dann ja Duplicate Content wäre. Und genau das möchten wir vermeiden, indem wir Google “zwingen” möchten, die alten URLs auf die neuen URLs umzuleiten.

---

<div class="post-metadata">

**Author:** ![MB\_Steinbauer](https://avatars.discourse-cdn.com/v4/letter/m/97f17d/32.png) [@MB\_Steinbauer](https://forum.shopware.com/u/MB_Steinbauer)\
**Post date:** [25. November 2016 um 09:57 UTC](https://forum.shopware.com/t/404-mittels-plugin-abfangen-und-rerouten/41704/4 "2016-11-25T09:57:01Z")

</div>

Laut dem Shopware SEO-Guide sollte das alles schon von Haus aus funktionieren, wenn ich das richtig verstanden habe:

[http://community.shopware.com/Shopware-SEO-Guide\_detail\_1397.html#SEO-URLs](http://community.shopware.com/Shopware-SEO-Guide%5C_detail%5C_1397.html#SEO-URLs)

> Sofern sich eine URL mal ändert (beispielsweise beim Verändern des Produktnamens), so merkt sich Shopware 5 die „alte“ Artikel-URL und leitet diese sauber per Redirect 301 auf die neue URL um.
> 
> Hierbei macht es keinen Unterschied, ob der Bot Cookies akzeptiert oder nicht. Ein sauberes Redirect 301 erfolgt auf jeden Fall. Auf der weitergeleiten Seite wird zudem die canonical-Url der Zielseite ausgegeben. Somit stellt Shopware zu 100% sicher, dass kein Duplicate Content erfasst wird.
