

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.

# Umleitungen und Umschreibungen für eine Amplify-Anwendung einrichten
<a name="redirects"></a>

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.

## Die von Amplify unterstützten Weiterleitungen verstehen
<a name="types-of-redirects"></a>

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

## Die Reihenfolge der Weiterleitungen verstehen
<a name="order-of-redirects"></a>

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
```

## Verstehen, wie Amplify Abfrageparameter weiterleitet
<a name="query-parameters"></a>

Sie können Abfrageparameter verwenden, um mehr Kontrolle über Ihre URL-Übereinstimmungen zu haben. 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 lautet`https://example-target.com?q=someParam`, werden Abfrageparameter nicht weitergeleitet.

# Weiterleitungen in der Amplify-Konsole erstellen und bearbeiten
<a name="creating-editing-redirects"></a>

Sie können Weiterleitungen für eine Anwendung 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 Nutzererfahrung Ihrer App nach geografischer Region zu segmentieren.

**Um eine Weiterleitung in der Amplify-Konsole zu erstellen**

1. Melden Sie sich bei der an AWS-Managementkonsole und öffnen Sie die [Amplify-Konsole](https://console.aws.amazon.com/amplify/).

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

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

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

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

   1. Geben Sie für die ursprüngliche Adresse an`source`, die der Benutzer angefordert hat.

   1. Geben Sie für `status` die Art der Weiterleitung an.

   1. Geben Sie für `target` die Zieladresse an, die den Inhalt für den Benutzer wiedergibt.

   1. (Optional) Geben Sie für `condition` einen aus zwei Buchstaben bestehenden Ländercode ein.

1. Wählen Sie **Speichern**.

# Leitet die Beispielreferenz weiter und schreibt sie neu
<a name="redirect-rewrite-examples"></a>

Dieser Abschnitt enthält Beispiele für eine Vielzahl gängiger Umleitungsszenarien. 

**Wichtig**  
Domänenspezifische Weiterleitungen unterstützen keine Pfadkomponenten im Quellfeld.  
**Unterstützt:**  
`"source": "https://example.com" `(Pfade werden automatisch angehängt)
**Nicht unterstützt**:  
`"source": "https://example.com/specific-path"`
Regeln mit `domain+path` Kombinationen werden derzeit nicht unterstützt.
**Alternative Muster**  
 Verwenden Sie für domänenspezifische Pfadweiterleitungen:  
Separate Regeln nur für Domänen (Pfade werden automatisch angehängt)
Reine Pfadregeln mit bedingter Logik
Mehrere Regelkombinationen

Sie können diese Beispiele verwenden, um die JSON-Syntax für die Erstellung Ihrer eigenen Weiterleitungen und Umschreibungen im JSON-Editor der Amplify-Konsole zu verstehen. 

**Anmerkung**  
Beim Domainabgleich mit der ursprünglichen Adresse wird nicht zwischen Groß- und Kleinschreibung unterschieden.

**Topics**
+ [Einfache Weiterleitungen und Umschreibungen](#simple-redirects-and-rewrites)
+ [Weiterleitungen für Single-Page-Web-Apps (SPA)](#redirects-for-single-page-web-apps-spa)
+ [Reverse-Proxy umschreiben](#reverse-proxy-rewrite)
+ [Schrägstriche am Ende und sauber URLs](#trailing-slashes-and-clean-urls)
+ [Platzhalter](#placeholders)
+ [Abfragen von Zeichenketten und Pfadparametern](#query-strings-and-path-parameters)
+ [Regionsbasierte Weiterleitungen](#region-based-redirects)
+ [Verwendung von Platzhalterausdrücken bei Weiterleitungen und Umschreibungen](#wildcard-redirects)

## Einfache Weiterleitungen und Umschreibungen
<a name="simple-redirects-and-rewrites"></a>

Sie können das folgende Beispiel 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-Format

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

Sie können das folgende Beispiel verwenden, um einen beliebigen Pfad unter einem Ordner auf denselben Pfad in einem anderen Ordner umzuleiten.


****  

| Ursprüngliche Adresse | Zieladresse | Umleitungsart | Country Code (Ländercode) | 
| --- | --- | --- | --- | 
|   `/docs/<*>`   |   `/documents/<*>`   |   `permanent redirect (301)`   |  | 

JSON-Format

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

Sie können das folgende Beispiel verwenden, um den gesamten Datenverkehr beim Umschreiben 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-Format

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

Sie können das folgende Beispiel verwenden, um mit einem Rewrite die Subdomain 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-Format

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

Sie können das folgende Beispiel 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-Format

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

Sie können das folgende Beispiel 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-Format

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

**Wichtig**  
Pfadkomponenten in domänenbasierten Quellregeln (wie`"https://domain.com/path"`) werden nicht unterstützt und führen dazu, dass die Regel ohne Fehler ignoriert wird.

## Weiterleitungen für Single-Page-Web-Apps (SPA)
<a name="redirects-for-single-page-web-apps-spa"></a>

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 einen 200-Rewrite-Vorgang 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-Format

```
[
  {
    "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
<a name="reverse-proxy-rewrite"></a>

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. HTTPS ist das einzige Protokoll, das für Reverse-Proxys unterstützt wird.


****  

| Ursprüngliche Adresse | Zieladresse | Umleitungsart | Country Code (Ländercode) | 
| --- | --- | --- | --- | 
|   `/images/<*>`   |   `https://images.otherdomain.com/<*>`   |   `rewrite (200)`   |  | 

JSON-Format

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

## Schrägstriche am Ende und sauber URLs
<a name="trailing-slashes-and-clean-urls"></a>

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 Clean, 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
<a name="placeholders"></a>

Sie können das folgende Beispiel verwenden, um Pfade in einer Ordnerstruktur zu einer passenden 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-Format

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

## Abfragen von Zeichenketten und Pfadparametern
<a name="query-strings-and-path-parameters"></a>

**Warnung**  
Schließen Sie keine Geheimnisse, Anmeldeinformationen oder vertraulichen Daten URLs als Pfad- oder Abfrageparameter ein. Diese Werte sind im Klartext in den Zugriffsprotokollen Ihrer Amplify-Anwendung sichtbar.

Sie können das folgende Beispiel verwenden, um einen Pfad zu einem Ordner umzuleiten, dessen Name 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-Format

```
[
  {
    "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 Abfragewert`id`.

Sie können das folgende Beispiel 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-Format

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

## Regionsbasierte Weiterleitungen
<a name="region-based-redirects"></a>

Sie können das folgende Beispiel verwenden, um Anfragen basierend auf der Region umzuleiten.


****  

| Ursprüngliche Adresse | Zieladresse | Umleitungsart | Country Code (Ländercode) | 
| --- | --- | --- | --- | 
|   `/documents`   |   `/documents/us/`   |   `temporary redirect (302)`   |   `<US>`   | 

JSON-Format

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

## Verwendung von Platzhalterausdrücken bei Weiterleitungen und Umschreibungen
<a name="wildcard-redirects"></a>

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)`   |     | 