es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Establecer redirecciones y reescrituras, pero el enrutador no capturó la subruta personalizada.

next.config.js


module.exports = {
i18n: {
defaultLocale: 'en',
locales: ['en', 'ko', 'ar'],
},
async redirects() {
return [{
source: '/ko',
destination: '/myCustomKo',
permanent: true,
locale: false,
}]
},
async rewrites() {
return {
afterFiles: [{
source: '/myCustomKo',
destination: '/ko',
}]
}
}
}

Quiero usar mi ruta /ko para /myCustomKo.

Funciona solo cuando se carga primero. Puedo ver /myCustomKo en lugar de /ko.

y cuando muevo la ruta con root, mi subruta desaparece. Espero que siga siendo /myCustomKo y no /.

cuando intento este proceso en /en, todo es perfecto. Hago clic en , sigue siendo /en.

¿Cómo puedo mantener mi subruta personalizada?

Resumen

Cuando mi subruta es /en, puedo ir a cualquier lugar con /en.

Cuando mi subruta es /ar, también puedo ir a cualquier lugar con /ar.

Pero cuando mi subruta es /myCustomKo, mi enrutador pierde la subruta /myCustomKo.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para mantener la subruta personalizada /myCustomKo, debes usar la propiedad as en tus componentes Link. Por ejemplo:

    <link href="/somePage" as="/myCustomKo/somePage">
      <a>Enlace a alguna página</a>
    
    

    Esto garantizará que la URL en la barra de direcciones muestre /myCustomKo/somePage en lugar de solo /somePage.

    Además de usar la propiedad as, también debes actualizar los valores source y destination en tus redireccionamientos y reescrituras para incluir la subruta personalizada:

    async redirects() {
      return [{
        source: '/myCustomKo',
        destination: '/',
        permanent: true,
        locale: false,
      }]
    },
    async rewrites() {
      return {
        afterFiles: [{
          source: '/myCustomKo/:path*',
          destination: '/:path*',
        }]
      }
    }
    

    Con estos cambios, deberías poder navegar a diferentes páginas manteniendo la subruta personalizada /myCustomKo en la URL.

Comments are closed.