Tengo una aplicación web donde los usuarios pueden crear sus propios perfiles con sus nombres de usuario, como se muestra a continuación.
ourplatform.com/john ourplatform.com/john/about ourplatform.com/john/contact ourplatform.com/jane ourplatform.com/jane/about ourplatform.com/jane/contactTambién pueden conectar sus dominios por lo que tienen que estar usando así.
john.com john.com/about john.com/contact jane.com jane.com/about jane.com/contact Este es mi next.config.js .
module.exports = { async rewrites () { return [ { source: '/:path*', has: [ { type: 'header', key: 'x-username', value: '(?<username>.*)' } ], destination: '/:username/:path*' } ] } }Y esta es la configuración de Nginx.
server { listen 80; server_name john.com; add_header x-username "john"; proxy_set_header x-username "john"; location /_next { proxy_pass http://127.0.0.1:1323; } location = / { proxy_pass http://127.0.0.1:1323/john; } location / { proxy_pass http://127.0.0.1:1323/john$request_uri; } }Pero tengo un problema 404 en los dominios. ¿Qué tiene de malo la configuración actual?
la coincidencia de host podría ser un enfoque alternativo como se explica aquí
module.exports = { async rewrites() { return [ { source: '/:path*', has: [{ type: 'host', value: 'john.com' }], destination: '/john/:path*', }, { source: '/:path*', has: [{ type: 'host', value: 'jane.com' }], destination: '/jane/:path*', }, ] }, }