Mi aplicación Next.js se ejecuta en la carpeta '/portal/' y basePath está configurado de la siguiente manera:
module.exports = { basePath: '/portal' }Ahora necesito que la página de índice de esa aplicación también esté disponible en la raíz del sitio (sin basePath). De modo que tanto '/' como /portal/*' serán manejados por la aplicación Next.js, mientras que otras aplicaciones web manejarán otras rutas. En el lado de Nginx, la ruta raíz se pasa a la aplicación Next.js, pero no está claro cómo servir una página fuera de basePath. Intenté reescribir:
async rewrites() { return [ { source: '/', destination: '/portal/', basePath: false }, ]; }, pero obtuve un error: The route / rewrites urls outside of the basePath. Please use a destination that starts with `http://` or `https://` https://nextjs.org/docs/messages/invalid-external-rewrite ¿Es posible servir una página fuera de basePath o la única manera es eliminar basePath y cambiar todas las rutas y enlaces en la aplicación Next.js manualmente?
Probablemente usar Redirects podría ser útil en tu caso.
module.exports = { basePath: '/portal', async rewrites() { return [ { source: '/', destination: '/portal/', basePath: false }, ]; }, async redirects() { return [ { source: '/with-basePath', // automatically becomes /portal/with-basePath destination: '/another', // automatically becomes /portal/another permanent: false, }, { // does not add /docs since basePath: false is set source: '/without-basePath', destination: '/another', basePath: false, permanent: false, }, ] }, }