Solucionar problemas

Error 404 en ficheros estáticos con ruta correcta

Revisado el 3 min de lectura errores http archivos estaticos

Si una imagen, un CSS o un JavaScript responde 404, comprueba la URL que solicita realmente el navegador. Que el archivo exista en tu ordenador o en otra carpeta del hosting no significa que exista en la raíz pública de ese dominio.

Confirmar qué responde

  1. Consulta el código, cabeceras y cuerpo de la respuesta. Distingue un 404 de la aplicación, del servidor o del CDN.
  2. Revisa los registros de acceso y errores para la misma URL y hora.
  3. Confirma que el fichero existe en el DocumentRoot del dominio y que mayúsculas, minúsculas y extensión coinciden exactamente.

Problema de permisos

Verifica la política de Hostsuar: 755 en directorios y 644 en ficheros. Un problema de permisos suele responder 403 o dejar una denegación en el registro; no lo consideres causa del 404 sin esa evidencia.

Framework interceptando las peticiones

Una configuración habitual deja que el servidor entregue los ficheros existentes y envía al front controller solo las rutas que no existen. Revisa en el .htaccess aplicable si las condiciones !-f y !-d están presentes o si una regla anterior intercepta la URL.

No añadas RewriteEngine Off de forma general: puede desactivar reglas legítimas de acceso, seguridad, caché o formatos alternativos. Corrige o limita únicamente la regla que los registros y una prueba controlada identifiquen.

Bloqueo de ModSecurity

Si el error real es 403, consulta el evento de auditoría de ModSecurity correspondiente a esa URL y hora antes de concluir que se trata de un falso positivo. Identifica la regla exacta y solicita, si procede, una exclusión limitada a esa regla y a la ruta concreta.

No desactives ModSecurity de forma general como solución. Solo para confirmar el diagnóstico puede hacerse una prueba de pocos minutos y con una única petición, volviendo a activarlo inmediatamente después con independencia del resultado.

Después de un despliegue

Si el nombre incluye una versión o hash, comprueba que el HTML no apunta a un archivo de una compilación anterior que ya se eliminó. Publica los nuevos recursos antes del HTML que los referencia y conserva los anteriores mientras puedan utilizarlos páginas abiertas o almacenadas en caché.

En Red, abre la petición fallida y revisa su URL completa y su iniciador. Una ruta relativa dentro de un CSS se resuelve respecto a ese CSS, no respecto a la página HTML. Corrige la referencia en su origen y purga solo las cachés afectadas después; algunos CDN también almacenan respuestas 404.

También te puede ayudar

¿Algo no cuadra o ha cambiado? Cuéntanoslo y lo revisamos.