sendRedirect()

Sends an HTTP redirect response from a server event handler.

Since Nuxt 3.0 Spec ↗

Syntax

await sendRedirect(event, location, code?)

Parameters

NameTypeRequiredDescription
event H3Event Yes The request event.
location string Yes The target URL/path.
code number No HTTP status code (default 302).

Returns

Promise<void> — Ends the response with a redirect.

Examples

// server/routes/old-blog/[slug].ts
export default defineEventHandler(async (event) => {
  const slug = getRouterParam(event, 'slug')
  return sendRedirect(event, `/blog/${slug}`, 301)
})
export default defineEventHandler(async (event) => {
  if (!getCookie(event, 'token')) {
    return sendRedirect(event, '/login')
  }
})

Notes

Use `301` for permanent redirects (SEO) and `302`/`307` for temporary. `return` the call to ensure the handler stops. This is for server routes; for page-level redirects in components/middleware use `navigateTo()`.

See also