Q29: How do you trigger server-side redirects inside getStaticProps or getServerSideProps?
Return a redirect object from getStaticProps or getServerSideProps containing destination (string) and permanent (boolean: true for 308, false for 307) or statusCode.
Server-Side Redirect in getServerSideProps
export async function getServerSideProps(context) {
const session = await getSession(context.req);
if (!session) {
return {
redirect: {
destination: '/login',
permanent: false,
},
};
}
return { props: { user: session.user } };
}💡 Unauthenticated requests are redirected server-side before page rendering occurs.
Key Takeaways
- Return
{ redirect: { destination: '/login', permanent: false } }. - Halts page rendering and issues an immediate HTTP redirect response.
Knowledge Check
What status code is returned when setting permanent: false inside a server redirect object?