Saltar al contenido

Enrutador Vue.js: modo historial y AWS S3 (RoutingRules)

Solución:

Sé que esta respuesta llega tarde, pero en caso de que alguien más esté buscando otra forma de resolver esto en Cloudfront, no es necesario crear páginas personalizadas en s3 que redireccionan a los usuarios cuando no se encuentran las páginas. En lugar de hacerlo, se pueden crear respuestas de error personalizadas en la nube para la distribución.

Errores personalizados

Esto siempre redirigirá a /index.html en caso de que no se encuentre un archivo y eso hará que se active la ruta de la aplicación.

Estoy alojando una PWA estática hecha en Vue en S3 usando “Alojamiento de sitios web estático” y funciona como se esperaba. Lo que hice fue bastante simple, agregué esto:

<RoutingRules>
  <RoutingRule>
    <Condition>
      <HttpErrorCodeReturnedEquals>403</HttpErrorCodeReturnedEquals>
    </Condition>
    <Redirect>
      <ReplaceKeyWith></ReplaceKeyWith>
    </Redirect>
  </RoutingRule>
</RoutingRules>

A las Propiedades del bucket de S3. Vea la imagen a continuación:
Propiedades de S3

Para mi bucket de S3, cada vez que intente acceder a un archivo que no existe, recibirá un 403 (prohibido) en lugar de un 404. Es por eso que cambié el HttpErrorCodeReturnedEquals a 403. También reemplacé el ReplaceKeyWith con una cadena vacía como “index.html” no activa la ruta correcta.

Espero que ayude.

Saludos, Alex

Si usa alojamiento estático en AWS S3 y esta es una aplicación SPA (React, Vue, Angular, etc.), debe configurar index.html como página de error:
ingrese la descripción de la imagen aquí

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *