permanentRedirect
Die Funktion permanentRedirect
ermöglicht es, den Benutzer auf eine andere URL umzuleiten. permanentRedirect
kann in Server-Komponenten, Client-Komponenten, Route Handlers und Server Actions verwendet werden.
Bei Verwendung in einem Streaming-Kontext wird ein Meta-Tag eingefügt, um die Weiterleitung clientseitig auszulösen. Bei Verwendung in einer Server-Aktion wird eine 303 HTTP-Weiterleitungsantwort an den Aufrufer gesendet. Andernfalls wird eine 308 (Permanent) HTTP-Weiterleitungsantwort an den Aufrufer gesendet.
Wenn eine Ressource nicht existiert, können Sie stattdessen die Funktion notFound
verwenden.
Gut zu wissen: Wenn Sie lieber eine 307 (Temporäre) HTTP-Weiterleitung anstelle von 308 (Permanent) zurückgeben möchten, können Sie stattdessen die Funktion
redirect
verwenden.
Parameter
Die Funktion permanentRedirect
akzeptiert zwei Argumente:
Parameter | Typ | Beschreibung |
---|---|---|
path | string | Die URL, auf die umgeleitet werden soll. Kann ein relativer oder absoluter Pfad sein. |
type | 'replace' (Standard) oder 'push' (Standard in Server Actions) | Der Typ der Weiterleitung. |
Standardmäßig verwendet permanentRedirect
push
(fügt einen neuen Eintrag zum Browser-History-Stack hinzu) in Server Actions und replace
(ersetzt die aktuelle URL im Browser-History-Stack) in allen anderen Fällen. Sie können dieses Verhalten überschreiben, indem Sie den Parameter type
angeben.
Der Parameter type
hat keine Auswirkung, wenn er in Server-Komponenten verwendet wird.
Rückgabewert
permanentRedirect
gibt keinen Wert zurück.
Beispiel
Der Aufruf der Funktion permanentRedirect()
löst einen NEXT_REDIRECT
-Fehler aus und beendet das Rendering des Routen-Segments, in dem es ausgelöst wurde.
Gut zu wissen:
permanentRedirect
erfordert nicht, dass Siereturn permanentRedirect()
verwenden, da es den TypeScript-Typnever
verwendet.