Umleitungen
Die Verwaltung von Weiterleitungsregeln ist eine gängige Voraussetzung für Webanwendungen, insbesondere in Fällen, in denen Sie eingehende Links, die sich im Laufe der Zeit geändert oder entfernt haben, nicht verlieren möchten.
Im Folgenden wird gezeigt, wie Sie mithilfe der Konfigurationsdatei "routes.yaml
"Umleitungsregeln in Ihrer Adobe Commerce für Cloud-Infrastrukturprojekte verwalten. Wenn die in diesem Thema behandelten Umleitungsmethoden für Sie nicht funktionieren, können Sie die Zwischenspeicherung von Kopfzeilen verwenden, um dasselbe zu tun.
{default}
stellt die für Ihre Site konfigurierte Standarddomäne dar. Wenn Ihr Projekt mehrere Domänen hat, verwenden Sie den Platzhalter {all}
, um das Routing für die Standarddomäne und alle Aliase zu konfigurieren. Siehe Routen konfigurieren.Updates für Pro-Umgebungen
routes.yaml
und die Cron-Konfiguration in der Datei .magento.app.yaml
zu aktualisieren. Adobe empfiehlt, die YAML-Konfigurationsdateien in einer Integrationsumgebung zu aktualisieren und zu testen und anschließend Änderungen in der Staging-Umgebung bereitzustellen. Wenn Ihre Änderungen nach der erneuten Bereitstellung nicht auf Staging-Sites angewendet werden und keine zugehörigen Fehlermeldungen im Protokoll vorhanden sind, senden Sie ein Adobe Commerce-Supportticket 🔗, in dem die versucht wurde, die Konfigurationsänderungen zu beschreiben. 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, laden Sie Ihre Nicht-Regex-Umleitungen ab und schreiben Sie sie in Fastly um. Siehe Nicht-Regex-Umleitungen zu Fastly anstatt Nginx (Routen) laden im Adobe Commerce Help Center.Umleitungen auf ganze Strecken
Mithilfe von Umleitungen über ganze Routen können Sie einfache Routen mithilfe der Datei routes.yaml
definieren. Sie können beispielsweise wie folgt von einer Apex-Domäne zu einer www
-Subdomäne umleiten:
http://{default}/:
type: redirect
to: http://www.{default}/
Teilroute-Umleitungen
In der Datei .magento/routes.yaml
können Sie basierend auf der Musterübereinstimmung partielle Umleitungsregeln zu bestehenden Routen hinzufügen:
http://{default}/:
redirects:
expires: 1d
paths:
"/from": { to: "http://example.com/" }
"/regexp/(.*)/matching": { to: "http://example.com/$1", regexp: true }
Teilumleitungen funktionieren mit jeder Route, einschließlich Routen, die direkt von der Anwendung bedient werden.
Zwei Schlüssel sind unter redirects
verfügbar:
-
expires - Optional: Gibt die Zeit an, die zum Zwischenspeichern der Weiterleitung im Browser erforderlich ist. Beispiele für gültige Werte sind
3600s
,1d
,2w
,3m
. -
Pfade: Ein oder mehrere Schlüssel-Wert-Paare, die die Konfiguration für Regeln für Umleitungen mit partieller Route 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 die Optionen für die Verarbeitung der Umleitung angibt.
Das value -Objekt weist die folgenden Eigenschaften auf:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 Eigenschaft Beschreibung to
Erforderlich: ein teilweiser absoluter Pfad, eine URL mit Protokoll und Host oder ein Muster, das das Ziel für die Umleitungsregel angibt. regexp
Optional, standardmäßig false
. Gibt an, ob der Pfadschlüssel als regulärer PCRE-Ausdruck interpretiert werden soll.prefix
Gibt an, ob die Umleitung sowohl für den Pfad als auch für alle untergeordneten Elemente oder nur für den Pfad selbst gilt. Der Standardwert ist true
. Dieser Wert wird nicht unterstützt, wennregexp
true
ist.append_suffix
Bestimmt, ob das Suffix mit der Umleitung übernommen wird. Der Standardwert ist true
. Dieser Wert wird nicht unterstützt, wenn derregexp
-Schlüsseltrue
oder* ist, wenn derprefix
-Schlüsselfalse
ist.code
Gibt den HTTP-Statuscode an. Gültige Statuscodes sind 301
(Dauerhaft verschoben),302
,307
und308
. Der Standardwert ist302
.expires
Optional: Gibt die Zeit an, die die Weiterleitung im Browser zwischengespeichert werden soll. Der Standardwert ist der expires
-Wert, der direkt unter demredirects
-Schlüssel definiert ist. Auf dieser Ebene können Sie jedoch den Cache-Ablauf für einzelne Teilumleitungen optimieren.
Beispiele für Umleitungen auf Teilstrecken
Die folgenden Beispiele zeigen, wie Sie mithilfe verschiedener paths
-Konfigurationsoptionen Teilroute-Umleitungen in der Datei routes.yaml
angeben.
Abgleich von regulärem Ausdrucksmuster
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 für einen regulären Ausdruck und leitet übereinstimmende Anforderungen an https://example.com
um. Beispielsweise wird eine Anforderung 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 Anforderungen, die dem Muster
/from
entsprechen, an den Pfadhttp://{default}/to
um. -
Leitet Anforderungen, die dem Muster
/from/another/path
entsprechen, aufhttps://{default}/to/another/path
um. -
Wenn Sie die Eigenschaft
prefix
infalse
ändern, werden Anforderungen, die mit dem Muster-Trigger/from
übereinstimmen, zwar umgeleitet, Anforderungen, die mit dem Muster/from/another/path
übereinstimmen, jedoch nicht.
Suffix-Musterabgleich
Verwenden Sie das folgende Format, um Umleitungsanfragen zu konfigurieren, die das Pfadsuffix aus der Anfrage an das Zielziel anhängen:
http://{default}/:
type: upstream
redirects:
paths: "/from": { to: "https://{default}/to", append_suffix: false }
Diese Konfiguration funktioniert wie folgt:
-
Leitet Anforderungen, die dem Muster
/from/path/suffix
entsprechen, an den Pfadhttps://{default}/to
um. -
Wenn Sie die Eigenschaft
append_suffix
intrue
ändern, werden Anforderungen, die mit/from/path/suffix
übereinstimmen, zum Pfadhttps://{default}/to/path/suffix
umgeleitet.
Pfadspezifische Cache-Konfiguration
Verwenden Sie das folgende Format, um die Zeit zum Zwischenspeichern einer Weiterleitung von einem bestimmten Pfad 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 aus dem ersten Pfad (
/from
) werden einen Tag lang zwischengespeichert. -
Umleitungen vom zweiten Pfad (
/here
) werden zwei Wochen lang zwischengespeichert.