La causa más habitual de este error es la falta de correspondencia entre los archivos que se "llaman" desde la programación y los archivos que hay en el hospedaje.
El motivo más frecuente de este error es el de incluir nombres de archivos en mayúsculas y minúsculas. En los servidores que trabajan sobre Linux, como es el caso, se distingue entre mayúsculas y minúsculas.
Por ejemplo: el archivo "imagen1.JPG" es diferente de "imagen1.jpg" y de "Imagen1.JPG.
Si en la programación hacemos referencia a "imagen1.jpg", pero el archivo en el servidor se llama "Imagen1.jpg", esa imagen no se mostrará, aunque en nuestro PC (si trabaja con windows) todo se vea correctamente.
Para evitar este tipo de problemas, sigue estas recomendaciones a la hora de nombrar los archivos:
1.- Utiliza nombres siempre en minúsculas.
2.- Usa nombres sin espacios ni caracteres especiales, evita acentos y la letra 'ñ'.
El otro motivo más habitual (y más frecuente de lo que imaginas) es que el nombre del archivo no se ha escrito bien o la ruta es incorrecta. Necesitas verificar que la ruta es correcto y que las imagenes se encuentran dentro de su sitio en el servidor.