codigo0/docs/archivo/RESUMEN_SPA_ROUTING.md
planetazuzu 27cac410ae chore: actualizar todas las fechas a 2025-12-23
- Actualizar fechaActualizacion en manual-index.ts (100+ capítulos)
- Actualizar fechas en archivos .md del manual (public/manual/)
- Actualizar fechas en documentación (docs/)
- Actualizar fechas en páginas legales (Privacidad, Descargo, AvisoLegal)
- Actualizar fechas en scripts de limpieza
- Reemplazar todas las referencias de 2024-12-XX a 2025-12-23
- Reemplazar '19 de diciembre de 2024' a '23 de diciembre de 2025'
2025-12-23 10:39:14 +01:00

2.9 KiB

Resumen: Configuración SPA Routing

Fecha: 2025-12-23


PROBLEMA RESUELTO

Problema: Al acceder directamente a rutas o refrescar la página, el servidor devolvía 404 en lugar de servir index.html.

Solución: Configurado fallback a index.html para todos los servidores comunes.


📁 ARCHIVOS CREADOS/MODIFICADOS

Archivos Nuevos

  • public/_redirects - Para Netlify
  • public/.htaccess - Para Apache
  • SPA_ROUTING_CONFIG.md - Documentación completa
  • RESUMEN_SPA_ROUTING.md - Este resumen

Archivos Modificados

  • vite.config.ts - Añadida configuración de preview
  • vercel.json - Actualizado con rewrites y headers de cache
  • nginx.conf.example - Ya tenía configuración correcta (comentarios añadidos)
  • package.json - Añadido --host a preview

🔧 CONFIGURACIONES POR SERVIDOR

Servidor Archivo Estado
Vite Dev vite.config.ts Automático
Vite Preview vite.config.ts Configurado
Nginx nginx.conf.example try_files $uri $uri/ /index.html;
Apache public/.htaccess mod_rewrite configurado
Netlify public/_redirects /* /index.html 200
Vercel vercel.json Rewrites configurados
GitHub Pages vite.config.ts Base path configurado

VERIFICACIONES

1. React Router

  • Usa BrowserRouter (no HashRouter)
  • Rutas configuradas correctamente

2. Build

  • Build exitoso
  • Archivos de configuración copiados a dist/
  • _redirects y .htaccess presentes en dist/

3. Archivos en dist/

dist/
├── _redirects      # Para Netlify
├── .htaccess       # Para Apache
├── index.html      # Punto de entrada
└── ...

🧪 CÓMO PROBAR

Test Local (Preview)

npm run build
npm run preview
# Abrir http://localhost:4173/favoritos
# Debe cargar correctamente (no 404)

Test en Producción

  1. Desplegar en servidor (Nginx/Apache/Netlify/Vercel)
  2. Acceder directamente a una ruta: https://tu-app.com/favoritos
  3. Refrescar la página en esa ruta
  4. Debe cargar correctamente (no 404)

📝 NOTAS IMPORTANTES

  1. Archivos Estáticos: Las reglas excluyen archivos estáticos (JS, CSS, imágenes) para que se sirvan correctamente.

  2. Cache:

    • index.html → NO cachear (permite actualizaciones)
    • Assets estáticos → Cachear (mejor performance)
  3. Base Path: Si la app está en subdirectorio (GitHub Pages), el base en vite.config.ts debe coincidir.


ESTADO FINAL

Configuración: COMPLETA

Todas las rutas ahora funcionan correctamente:

  • Acceso directo a rutas
  • Refresh en cualquier ruta
  • Enlaces compartidos funcionan
  • Compatible con todos los servidores comunes

Última actualización: 2025-12-23