Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

143
Vistas
React Routes Problema sitio web solo en producción

Estoy trabajando en mi sitio web personal y encontré un problema que solo ocurre en producción, el problema no ocurre en mi entorno local.

este es el escenario

He configurado las rutas como las siguientes

 const Routes = () => ( <Router> <Route exact path="/" component={Home} /> <Route exact path="/works" component={work} /> <Route exact path="/skills" component={skills} /> </Router> )

Como dije localmente, puedo acceder a todas las rutas que hacen que mis componentes funcionen y mis habilidades

  • http://localhost:3000/
  • http://localhost:3000/trabajo
  • http://localhost:3000/habilidades

Construyo e implemento el código en mi dominio y tengo el problema de acceder a las siguientes rutas

  • http://ejemplo.com/trabajo
  • http://ejemplo.com/habilidades

Este es el error que me sale en estas rutas

Este archivo XML no parece tener ninguna información de estilo asociada. La estructura del documento se muestra a continuación.

 <Error> <Code>NoSuchKey</Code> <Message>The specified key does not exist.</Message> </Error>

No me queda claro qué estoy haciendo mal y por qué este error no ocurre en la configuración regional.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Cuando usa BrowserRouter, está haciendo uso de la API de historial que le permite escribir código que dice:

Hola navegador. Voy a cambiar el DOM usando JavaScript ahora. Va a cambiar la página para que sea como la página que obtendría si visitara /example , para que pueda cambiar la URL en la barra de direcciones y marcarla como favorita.

Su problema es que está haciendo el reclamo sin hacer los cambios en el servidor para respaldarlo. Cuando el navegador visita la página en el servidor, arroja un error porque no le ha dicho qué hacer para esa URL.

Tienes algunas opciones aquí:

  • Use HashRouter en su lugar
  • Use una herramienta como Next.js o Gatsby para generar páginas estáticas para su implementación en el servidor
  • Use una herramienta como Next.js para generar las páginas que usan la representación del lado del servidor (aunque esa no es una opción en S3 que creo que está usando actualmente, por lo que también debería cambiar de host)
  • Use algún tipo de configuración de reescritura para que cualquier error 404 se convierta en un error 200 OK y sirva la página esqueleto index.html que arranca su aplicación (realmente no lo recomiendo porque rompe los 404 normales y es malo para el almacenamiento en caché) .
    • Como arriba, pero limítese a las páginas que sabe que existen. Es probable que esto sea un problema de mantenimiento, ya que de alguna manera necesita (probablemente manualmente) mantener las URL en el servidor sincronizadas con los cambios en su aplicación.
about 4 years ago · Juan Pablo Isaza Denunciar

0

 import { HashRouter } from "react-router-dom"; <HashRouter> <App /> </HashRouter>

Por favor, intente eso en su lugar

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda