sendRedirect()
Sends an HTTP redirect response from a server event handler.
Syntax
await sendRedirect(event, location, code?) Parameters
| Name | Type | Required | Description |
|---|---|---|---|
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()`.