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?