Capítulo 173 de 456
Redireciona o usuário para outra URL com semântica de redirect permanente (308), para uso quando a URL antiga nunca mais deve ser válida.
'replace' (default) ou 'push' (default em Server Actions); sem efeito em Server Components.never return type: não precisa de return permanentRedirect().import { permanentRedirect, RedirectType } from 'next/navigation'
permanentRedirect('/redirect-to', RedirectType.replace)
// ou
permanentRedirect('/redirect-to', RedirectType.push)
RedirectType para controlar o tipo de navegação.// app/team/[id]/page.js
import { permanentRedirect } from 'next/navigation'
export default async function Profile({ params }) {
const { id } = await params
const team = await fetchTeam(id)
if (!team) {
permanentRedirect('/login')
}
}
| Parameter | Type | Description |
|---|---|---|
path | string | URL relativa ou absoluta de destino |
type | 'replace' | 'push' | tipo de redirect no histórico do browser |
try em try/catch: permanentRedirect lança erro; chame fora do try em Server Actions/Route Handlers.notFound() em vez disso.permanentRedirect para mudanças de URL definitivas (308); use redirect para temporárias (307).type só tem efeito fora de Server Components.