Weiterleitungen verwenden - AWS Amplify Hosten

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

Weiterleitungen verwenden

Umleitungen ermöglichen einem Webserver das Umleiten der Navigation von einer URL zu einer anderen. Zu den häufigsten Gründen für die Verwendung von Weiterleitungen gehören das Anpassen des Erscheinungsbilds einer URL, die Vermeidung defekter Links, das Verschieben des Hosting-Speicherorts einer App oder Website, ohne deren Adresse zu ändern, und das Ändern einer angeforderten URL in das von einer Web-App benötigte Formular.

Arten von Weiterleitungen

Amplify unterstützt die folgenden Umleitungstypen in der Konsole.

Dauerhafte Umleitung (301)

301-Umleitungen sind für dauerhafte Änderungen am Ziel einer Webadresse vorgesehen. Der Verlauf des Suchmaschinenrankings der ursprünglichen Adresse gilt für die neue Zieladresse. Die Umleitung erfolgt auf der Clientseite, daher wird in einer Browser-Navigationsleiste nach der Umleitung die Zieladresse angezeigt.

Häufige Gründe für die Verwendung von 301-Umleitungen:

  • Vermeiden eines fehlerhaften Links beim Ändern der Adresse einer Seite

  • Vermeiden eines fehlerhaften Links, wenn ein Benutzer einen vorhersehbare Tippfehler in einer Adresse macht

Temporäre Umleitung (302)

302-Umleitungen sind für temporäre Änderungen am Ziel einer Webadresse vorgesehen. Der Verlauf des Suchmaschinen-Rankings der ursprünglichen Adresse gilt nicht für die neue Zieladresse. Die Umleitung erfolgt auf der Clientseite, daher wird in einer Browser-Navigationsleiste nach der Umleitung die Zieladresse angezeigt.

Häufige Gründe für die Verwendung von 302-Umleitungen:

  • Bereitstellen eines Umleitungsziels, während an einer ursprünglichen Adresse Reparaturen vorgenommen werden

  • Um Testseiten für den A/B-Vergleich einer Benutzeroberfläche bereitzustellen.

    Anmerkung

    Wenn Ihre App eine unerwartete 302-Antwort zurückgibt, wird der Fehler wahrscheinlich durch Änderungen verursacht, die Sie an der Weiterleitung und der benutzerdefinierten Header-Konfiguration Ihrer App vorgenommen haben. Um dieses Problem zu beheben, stellen Sie sicher, dass Ihre benutzerdefinierten Header gültig sind, und aktivieren Sie dann erneut die standardmäßige 404-Rewrite-Regel für Ihre App.

Umschreibung (200)

200-Umleitungen (Umschreibungen) dienen zum Anzeigen von Inhalt an der Zieladresse, als würde er von der ursprünglichen Adresse bereitgestellt. Der Verlauf des Suchmaschinenrankings gilt weiterhin für die ursprüngliche Adresse. Die Umleitung erfolgt auf der Serverseite, daher wird in einer Browser-Navigationsleiste nach der Umleitung die ursprüngliche Adresse angezeigt. Häufige Gründe für die Verwendung von 200-Umleitungen:

  • Umleiten einer gesamten Website an einen neuen Hostingstandort, ohne die Adresse der Website zu ändern

  • Umleiten des gesamten Datenverkehrs an die Seite „index.html“ einer Single Page Web App (SPA) zur Verarbeitung durch eine clientseitige Routerfunktion

Nicht gefunden (404)

404-Weiterleitungen treten auf, wenn eine Anfrage auf eine Adresse verweist, die nicht existiert. Die Zielseite einer 404-Umleitung wird anstatt der angeforderten Seite angezeigt. Häufige Gründe für 404-Umleitungen:

  • Vermeiden einer Meldung vom Typ „Fehlerhafter Link“, wenn ein Benutzer eine ungültige URL eingibt

  • Verweisen von Anforderungen an nicht vorhandene Seiten einer Web-App an die Seite „index.html“ zur Verarbeitung durch eine clientseitige Routerfunktion

Weiterleitungen erstellen und bearbeiten

Sie können Weiterleitungen für eine App in der Amplify-Konsole erstellen und bearbeiten. Bevor Sie beginnen, benötigen Sie die folgenden Informationen zu den Teilen einer Weiterleitung.

Eine Originaladresse

Die Adresse, die der Benutzer angefordert hat.

Eine Zieladresse

Die Adresse, die tatsächlich den Inhalt bereitstellt, den der Benutzer sieht.

Ein Umleitungstyp

Zu den Typen gehören eine permanente Weiterleitung (301), eine temporäre Weiterleitung (302), eine Umschreibung (200) oder eine nicht gefundene Weiterleitung (404).

Ein aus zwei Buchstaben bestehender Ländercode (optional)

Ein Wert, den Sie angeben können, um die Benutzererfahrung Ihrer App nach geografischer Region zu segmentieren.

Um eine Weiterleitung in der Amplify-Konsole zu erstellen
  1. Melden Sie sich bei der an AWS Management Console und öffnen Sie die Amplify-Konsole.

  2. Wählen Sie die App aus, für die Sie eine Weiterleitung erstellen möchten.

  3. Wählen Sie im Navigationsbereich Hosting und anschließend Umschreibungen und Weiterleitungen aus.

  4. Wählen Sie auf der Seite Umschreibungen und Weiterleitungen die Option Weiterleitungen verwalten aus.

  5. Das Verfahren zum Hinzufügen einer Weiterleitung hängt davon ab, ob du Regeln einzeln hinzufügen oder eine Massenbearbeitung durchführen möchtest:

    • Um eine individuelle Weiterleitung zu erstellen, wähle Umschreibung hinzufügen.

      1. Geben Sie unter Quelladresse die ursprüngliche Adresse ein, die der Benutzer angefordert hat.

      2. Geben Sie unter Zieladresse die Zieladresse ein, über die der Inhalt an den Benutzer gesendet wird.

      3. Wählen Sie unter Typ den Typ der Weiterleitung aus der Liste aus.

      4. (Optional) Geben Sie als Ländercode eine Bedingung für die Landesvorwahl ein, die aus zwei Buchstaben besteht.

    • Um Weiterleitungen massenweise zu bearbeiten, wählen Sie Texteditor öffnen.

      1. Fügen Sie Weiterleitungen im JSON-Editor für Umschreibungen und Weiterleitungen manuell hinzu oder aktualisieren Sie sie.

  6. Wählen Sie Speichern.

Reihenfolge der Weiterleitungen

Weiterleitungen werden vom Anfang der Liste nach unten angewendet. Stellen Sie sicher, dass Ihre Reihenfolge das vorgesehene Ergebnis erzielt. Beispiel: Die folgende Reihenfolge von Umleitungen bewirkt, dass alle Anforderungen für einen bestimmten Pfad unter /docs/ an denselben Pfad unter /documents/ umgeleitet werden, mit Ausnahme von /docs/bestimmter-dateiname.html, das an /documents/anderer-dateiname.html umgeleitet wird:

/docs/specific-filename.html /documents/different-filename.html 301 /docs/<*> /documents/<*>

Bei der folgenden Umleitungsreihenfolge wird die Umleitung von bestimmter-dateiname.html an anderer-dateiname.html ignoriert:

/docs/<*> /documents/<*> /docs/specific-filename.html /documents/different-filename.html 301

Abfrageparameter

Sie können Abfrageparameter verwenden, um mehr Kontrolle über Ihre URL-Übereinstimmungen zu erhalten. Amplify leitet alle Abfrageparameter für 301- und 302-Weiterleitungen an den Zielpfad weiter, mit den folgenden Ausnahmen:

  • Wenn die ursprüngliche Adresse eine Abfragezeichenfolge enthält, die auf einen bestimmten Wert festgelegt ist, leitet Amplify keine Abfrageparameter weiter. In diesem Fall gilt die Umleitung nur für Anfragen an die Ziel-URL mit dem angegebenen Abfragewert.

  • Wenn die Zieladresse für die Abgleichsregel Abfrageparameter enthält, werden Abfrageparameter nicht weitergeleitet. Wenn die Zieladresse für die Umleitung beispielsweise lautethttps://example-target.com?q=someParam, werden Abfrageparameter nicht weitergeleitet.

Einfache Weiterleitungen und Umschreibungen

Dieser Abschnitt enthält Beispielcode für gängige Umleitungsszenarien.

Anmerkung

Beim Abgleich der ursprünglichen Adressdomäne wird nicht zwischen Groß- und Kleinschreibung unterschieden.

Sie können den folgenden Beispielcode verwenden, um eine bestimmte Seite dauerhaft an eine neue Adresse umzuleiten.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

/original.html

/destination.html

permanent redirect (301)

JSON [{"source": "/original.html", "status": "301", "target": "/destination.html", "condition": null}]

Sie können den folgenden Beispielcode verwenden, um einen beliebigen Pfad in einem Ordner an den gleichen Pfad in einem anderen Ordner umzuleiten.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

/docs/<*>

/documents/<*>

permanent redirect (301)

JSON [{"source": "/docs/<*>", "status": "301", "target": "/documents/<*>", "condition": null}]

Sie können den folgenden Beispielcode verwenden, um den gesamten Datenverkehr als Umschreibung an „index.html“ umzuleiten. In diesem Szenario wird die Seite dem Benutzer so angezeigt, als befände er sich an der ursprünglichen Adresse.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

/<*>

/index.html

rewrite (200)

JSON [{"source": "/<*>", "status": "200", "target": "/index.html", "condition": null}]

Sie können den folgenden Beispielcode verwenden, um mithilfe einer Umschreibung die Unterdomäne zu ändern, die dem Benutzer angezeigt wird.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

https://mydomain.com

https://www.mydomain.com

rewrite (200)

JSON [{"source": "https://mydomain.com", "status": "200", "target": "https://www.mydomain.com", "condition": null}]

Sie können den folgenden Beispielcode verwenden, um zu einer anderen Domain mit einem Pfadpräfix umzuleiten.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

https://mydomain.com

https://www.mydomain.com/documents

temporary redirect (302)

JSON [{"source": "https://mydomain.com", "status": "302", "target": "https://www.mydomain.com/documents/", "condition": null}]

Sie können den folgenden Beispielcode verwenden, um Pfade unter einem Ordner, der nicht gefunden werden kann, auf eine benutzerdefinierte 404-Seite umzuleiten.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

/<*>

/404.html

not found (404)

JSON [{"source": "/<*>", "status": "404", "target": "/404.html", "condition": null}]

Weiterleitungen für einseitige Web-Apps (SPA)

Die meisten SPA-Frameworks unterstützen HTML5 history.pushState (), um den Browserstandort zu ändern, ohne eine Serveranfrage auszulösen. Diese Methode funktioniert für Benutzer, die an der Stamm-URL (oder /index.html) beginnen, aber nicht für Benutzer, die direkt zu einer anderen Seite navigieren.

Im folgenden Beispiel werden reguläre Ausdrücke verwendet, um ein 200-Umschreiben für alle Dateien in index.html einzurichten, mit Ausnahme der im regulären Ausdruck angegebenen Dateierweiterungen.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|woff2|ttf|map|json|webp)$)([^.]+$)/>

/index.html

200

JSON [{"source": "</^[^.]+$|\.(?!(css|gif|ico|jpg|js|png|txt|svg|woff|woff2|ttf|map|json|webp)$)([^.]+$)/>", "status": "200", "target": "/index.html", "condition": null}]

Reverse-Proxy umschreiben

Im folgenden Beispiel wird ein Rewrite verwendet, um Inhalt von einem anderen Ort aus als Proxy zu verwenden, sodass der Benutzer den Eindruck hat, dass sich die Domain nicht geändert hat.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

/images/<*>

https://images.otherdomain.com/<*>

rewrite (200)

JSON [{"source": "/images/<*>", "status": "200", "target": "https://images.otherdomain.com/<*>", "condition": null}]

Schrägstriche am Ende und saubere URLs

Zum Erstellen bereinigter URL-Strukturen wie about anstelle von about.html generieren Generatoren von statischen Seiten wie z. B. Hugo Verzeichnisse für Seiten mit „index.html“ (/about/index.html). Amplify erstellt automatisch saubere URLs, indem es bei Bedarf einen abschließenden Schrägstrich hinzufügt. In der folgenden Tabelle sind verschiedene Szenarien hervorgehoben:

Benutzereingaben im Browser URL in der Adressleiste Bereitgestelltes Dokument

/about

/about

/about.html

/about (when about.html returns 404)

/about/

/about/index.html

/about/

/about/

/about/index.html

Platzhalter

Sie können den folgenden Beispielcode verwenden, um Pfade in einer Ordnerstruktur an eine entsprechende Struktur in einem anderen Ordner umzuleiten.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

/docs/<year>/<month>/<date>/<itemid>

/documents/<year>/<month>/<date>/<itemid>

permanent redirect (301)

JSON [{"source": "/docs/<year>/<month>/<date>/<itemid>", "status": "301", "target": "/documents/<year>/<month>/<date>/<itemid>", "condition": null}]

Abfragen von Zeichenketten und Pfadparametern

Sie können den folgenden Beispielcode verwenden, um einen Pfad an einen Ordner mit einem Namen umzuleiten, der dem Wert eines Abfragezeichenfolgenelements in der ursprünglichen Adresse entspricht:

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

/docs?id=<my-blog-id-value

/documents/<my-blog-post-id-value>

permanent redirect (301)

JSON [{"source": "/docs?id=<my-blog-id-value>", "status": "301", "target": "/documents/<my-blog-id-value>", "condition": null}]

Anmerkung

Amplify leitet alle Abfragezeichenfolgenparameter für 301- und 302-Weiterleitungen an den Zielpfad weiter. Wenn die ursprüngliche Adresse jedoch eine Abfragezeichenfolge enthält, die auf einen bestimmten Wert festgelegt ist, wie in diesem Beispiel gezeigt, leitet Amplify keine Abfrageparameter weiter. In diesem Fall gilt die Umleitung nur für Anfragen an die Zieladresse mit dem angegebenen Abfragewertid.

Sie können den folgenden Beispielcode verwenden, um alle Pfade, die auf einer bestimmten Ebene einer Ordnerstruktur nicht gefunden werden können, zu index.html in einem angegebenen Ordner umzuleiten.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

/documents/<folder>/<child-folder>/<grand-child-folder>

/documents/index.html

not found (404)

JSON [{"source": "/documents/<x>/<y>/<z>", "status": "404", "target": "/documents/index.html", "condition": null}]

Regionsbasierte Weiterleitungen

Sie können den folgenden Beispielcode verwenden, um Anforderungen basierend auf der Region umzuleiten.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

/documents

/documents/us/

temporary redirect (302)

<US>

JSON [{"source": "/documents", "status": "302", "target": "/documents/us/", "condition": "<US>"}]

Platzhalterausdrücke in Weiterleitungen und Umschreibungen

Sie können den Platzhalterausdruck,<*>, in der ursprünglichen Adresse für eine Umleitung oder ein Umschreiben verwenden. Sie müssen den Ausdruck am Ende der ursprünglichen Adresse platzieren und er muss eindeutig sein. Amplify ignoriert Originaladressen, die mehr als einen Platzhalterausdruck enthalten, oder verwendet ihn an einer anderen Stelle.

Im Folgenden finden Sie ein Beispiel für eine gültige Weiterleitung mit einem Platzhalterausdruck.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

/docs/<*>

/documents/<*>

permanent redirect (301)

Die folgenden beiden Beispiele zeigen ungültige Weiterleitungen mit Platzhalterausdrücken.

Ursprüngliche Adresse Zieladresse Umleitungsart Country Code (Ländercode)

/docs/<*>/content

/documents/<*>/content

permanent redirect (301)

/docs/<*>/content/<*>

/documents/<*>/content/<*>

permanent redirect (301)