Redirects
Die Verwaltung von Weiterleitungsregeln ist eine gängige Anforderung für Web-Anwendungen, insbesondere in Fällen, in denen Sie eingehende Links, die sich geändert oder im Laufe der Zeit entfernt haben, nicht verlieren möchten.
Im Folgenden wird gezeigt, wie Sie mit der routes.yaml-Konfigurationsdatei Umleitungsregeln für Ihre Adobe Commerce in Cloud-Infrastrukturprojekten verwalten. Wenn die in diesem Thema beschriebenen Weiterleitungsmethoden bei Ihnen nicht funktionieren, können Sie Caching-Kopfzeilen verwenden, um dasselbe zu tun.
{default} Platzhalter stellt die für Ihre Site konfigurierte Standard-Domain dar. Wenn Ihr Projekt über mehrere Domains verfügt, verwenden Sie den {all} Platzhalter, um das Routing für die Standard-Domain und alle Aliase zu konfigurieren. Siehe Konfigurieren von Routen.Updates für Pro-Umgebungen
routes.yaml-Datei und die Cron-Konfiguration in der .magento.app.yaml-Datei zu aktualisieren. Adobe empfiehlt, YAML-Konfigurationsdateien in einer Integrationsumgebung zu aktualisieren und zu testen und dann Änderungen in der Staging-Umgebung bereitzustellen. Wenn Ihre Änderungen nach der erneuten Bereitstellung nicht auf Staging-Sites angewendet werden und es keine entsprechenden Fehlermeldungen im Protokoll gibt, Sie MÜSSEN ein Adobe Commerce-Support-Ticket , das die versuchten Konfigurationsänderungen beschreibt. Schließen Sie alle aktualisierten YAML-Konfigurationsdateien in das Ticket ein.routes.yaml Leistungsprobleme verursachen. Wenn Ihre routes.yaml-Datei 32 KB oder größer ist, leiten Sie Ihre Nicht-Regex-Dateien weiter und schreiben sie auf Fastly um. Siehe Nicht-Regex-Umleitungen an Fastly statt Nginx (Routen) Adobe Commerce-Hilfezentrum.Umleitungen für ganze Routen
Mithilfe von Umleitungen für ganze Routen können Sie einfache Routen mithilfe der routes.yaml definieren. Sie können beispielsweise wie folgt von einer Apex-Domain zu einer www-Subdomain umleiten:
http://{default}/:
type: redirect
to: http://www.{default}/
Teilweise weiterzuleitende Routen
In der .magento/routes.yaml-Datei können Sie basierend auf Mustervergleich partielle Umleitungsregeln zu vorhandenen Routen hinzufügen:
http://{default}/:
redirects:
expires: 1d
paths:
"/from": { to: "http://example.com/" }
"/regexp/(.*)/matching": { to: "http://example.com/$1", regexp: true }
Teilweise Weiterleitungen funktionieren auf allen Routen, einschließlich Routen, die direkt von der Anwendung bedient werden.
Zwei Schlüssel sind unter redirects verfügbar:
-
expires - Optional, gibt die Zeitdauer an, für die die Umleitung im Browser zwischengespeichert wird. Beispiele für gültige Werte sind
3600s,1d,2wund3m. -
Pfade - Ein oder mehrere Schlüssel-Wert-Paare, die die Konfiguration für Teilumleitungsregeln angeben.
Für jede Umleitungsregel ist der Schlüssel ein Ausdruck zum Filtern von Anfragepfaden für die Umleitung. Der Wert ist ein -Objekt, das das Zielziel für die Umleitung und Optionen für die Verarbeitung der Umleitung angibt.
Das value-Objekt hat die folgenden Eigenschaften:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 Eigenschaft Beschreibung toErforderlich, ein partieller absoluter Pfad, eine URL mit Protokoll und Host oder ein Muster, das das Zielziel für die Umleitungsregel angibt. regexpOptional, standardmäßig false. Gibt an, ob der Pfadschlüssel als regulärer PCRE-Ausdruck interpretiert werden soll.prefixGibt an, ob die Umleitung sowohl für den Pfad als auch für alle untergeordneten Elemente oder nur für den Pfad selbst gilt. Die Standardeinstellung ist true. Dieser Wert wird nicht unterstützt, wennregexptrueist.append_suffixBestimmt, ob das Suffix mit der Umleitung übernommen wird. Die Standardeinstellung ist true. Dieser Wert wird nicht unterstützt, wenn derregexpSchlüsseltrueoder* ist, wenn derprefixSchlüsselfalseist.codeGibt den HTTP-Status-Code an. Gültige Status-Codes sind 301(dauerhaft verschoben,302,307und308. Die Standardeinstellung ist302.expiresOptional, gibt die Zeitdauer an, während der die Umleitung im Browser zwischengespeichert wird. Standardmäßig wird der expiresWert verwendet, der direkt unter demredirectsdefiniert wird. Auf dieser Ebene können Sie jedoch die Gültigkeitsdauer des Caches für einzelne partielle Weiterleitungen optimieren.
Beispiele für partielle Routen-Umleitungen
Die folgenden Beispiele zeigen, wie Sie mithilfe verschiedener paths-Konfigurationsoptionen partielle Weiterleitungen in der routes.yaml-Datei angeben.
Mustervergleich für reguläre Ausdrücke
Verwenden Sie das folgende Format, um Umleitungsanfragen basierend auf einem regulären Ausdruck zu konfigurieren.
http://{default}/:
type: upstream
redirects:
paths:
"/regexp/(.*)/match": { to: "http://example.com/$1", regexp: true }
Diese Konfiguration filtert Anfragepfade anhand eines regulären Ausdrucks und leitet übereinstimmende Anfragen an https://example.com weiter. Beispielsweise wird eine Anfrage an https://example.com/regexp/a/b/c/match an https://example.com/a/b/c umgeleitet.
Präfixmusterübereinstimmung
Verwenden Sie das folgende Format, um Umleitungsanfragen für Pfade zu konfigurieren, die mit einem angegebenen Präfixmuster beginnen.
http://{default}/:
type: upstream
redirects:
paths:
"/from": { to: "https://{default}/to", prefix: true }
Diese Konfiguration funktioniert wie folgt:
-
Leitet Anfragen, die dem
/fromMuster entsprechen, an denhttp://{default}/toweiter. -
Leitet Anfragen, die dem
/from/another/pathMuster entsprechen, anhttps://{default}/to/another/pathweiter. -
Wenn Sie die
prefix-Eigenschaft infalseändern, werden Anfragen, die mit dem/fromMuster-Trigger übereinstimmen, umgeleitet, Anfragen, die mit dem/from/another/path-Muster übereinstimmen, jedoch nicht.
Suffix-Mustervergleich
Verwenden Sie das folgende Format, um Umleitungsanfragen zu konfigurieren, die das Pfadsuffix von der Anfrage an das Ziel anhängen:
http://{default}/:
type: upstream
redirects:
paths: "/from": { to: "https://{default}/to", append_suffix: false }
Diese Konfiguration funktioniert wie folgt:
-
Leitet Anfragen, die dem
/from/path/suffixMuster entsprechen, an denhttps://{default}/toweiter. -
Wenn Sie die
append_suffixEigenschaft intrueändern, werden Anfragen, die mit übereinstimmen,/from/path/suffixan den Pfadhttps://{default}/to/path/suffix.
Pfadspezifische Cache-Konfiguration
Verwenden Sie das folgende Format, um die Zeit zum Zwischenspeichern einer Umleitung von einem bestimmten Pfad aus anzupassen:
http://{default}/:
type: upstream
redirects:
expires: 1d
paths:
"/from": { to: "https://example.com/" }
"/here": { to: "https://example.com/there", expires: "2w" }
Diese Konfiguration funktioniert wie folgt:
-
Umleitungen vom ersten Pfad (
/from) werden einen Tag lang zwischengespeichert. -
Umleitungen vom zweiten Pfad (
/here) werden zwei Wochen lang zwischengespeichert.