Estoy tratando de encontrar una manera de ejecutar algún código en la carga de la página inicial para cada solicitud. Quiero poder identificar el dominio solicitado y redirigir a una parte específica del sitio web en función de él.
Por lo que puedo entender, podría agregar getInitialProps a una página de _app personalizada, pero eso deshabilitaría toda la optimización a partir de ahora. Además, _app no parece admitir getServerSideProps , que consideré como una alternativa.
Otra forma en que pensé en hacerlo fue tener getServerSideProps en cada página del sitio web con la verificación que tengo que hacer, pero esto haría que cada página se volviera a renderizar en el lado del servidor para cada nueva solicitud, deshabilitando el renderizado en tiempo de compilación incluso para páginas estáticas puras .
¿Hay alguna otra solución que pueda adoptar?
EDITAR
Básicamente, necesito el objeto de solicitud para poder hacer algo como esto:
export const getServerSideProps: GetServerSideProps = async ({ req }) => { if (req.headers.host === 'something') { return { redirect: { permanent: false, destination: "/" } } }Pondría soluciones a esto en el siguiente orden:
Puede usar los redirects de Next.js en su archivo next.config.js .
module.exports = { async redirects() { return [ { source: '/(.+)', has: [ { type: 'header', key: 'host', value: 'something' } ], permanent: false, destination: '/' } ] } } Esta regla coincidirá con cualquier ruta que no sea / y redirigirá si contiene el valor de encabezado de host deseado.