permanentRedirect
La función permanentRedirect
permite redirigir al usuario a otra URL. Se puede utilizar en Componentes de Servidor, Componentes de Cliente, Manejadores de Ruta y Acciones de Servidor.
Cuando se usa en un contexto de transmisión (streaming), inserta una metaetiqueta para emitir la redirección en el lado del cliente. Cuando se usa en una acción de servidor, devuelve una respuesta de redirección HTTP 303 al llamador. En otros casos, devuelve una respuesta de redirección HTTP 308 (Permanente) al llamador.
Si un recurso no existe, puedes usar la función notFound
en su lugar.
Nota importante: Si prefieres devolver una redirección HTTP 307 (Temporal) en lugar de 308 (Permanente), puedes usar la función
redirect
.
Parámetros
La función permanentRedirect
acepta dos argumentos:
Parámetro | Tipo | Descripción |
---|---|---|
path | string | URL a la que redirigir. Puede ser una ruta relativa o absoluta. |
type | 'replace' (predeterminado) o 'push' (predeterminado en Acciones de Servidor) | Tipo de redirección a realizar. |
Por defecto, permanentRedirect
usará push
(añade una nueva entrada al historial del navegador) en Acciones de Servidor y replace
(reemplaza la URL actual en el historial del navegador) en otros casos. Puedes sobrescribir este comportamiento especificando el parámetro type
.
El parámetro type
no tiene efecto cuando se usa en Componentes de Servidor.
Valor de retorno
permanentRedirect
no devuelve ningún valor.
Ejemplo
Invocar la función permanentRedirect()
lanza un error NEXT_REDIRECT
y termina el renderizado del segmento de ruta donde se lanzó.
Nota importante:
permanentRedirect
no requiere que usesreturn permanentRedirect()
ya que utiliza el tiponever
de TypeScript.