Fehlerbehebung

Fehler 404 bei Bildern, CSS oder JS trotz richtigem Pfad

Geprüft am 4 Min. Lesezeit HTTP-Fehler statische Dateien

Manchmal verlinken Sie ein Bild, eine CSS-Datei oder ein JavaScript, sind sicher, dass der Pfad stimmt, und trotzdem antwortet der Server, dass er die Datei nicht findet (Fehler 404). Das sind die häufigsten Ursachen, von der einfachsten zur seltensten.

Die URL ist nicht genau die, die Sie meinen

Öffnen Sie die Website, drücken Sie F12, gehen Sie zur Registerkarte Netzwerk und laden Sie neu. Klicken Sie auf die fehlerhafte Datei, um die vollständige URL zu sehen, die der Browser anfordert. Vergleichen Sie sie mit dem tatsächlichen Speicherort der Datei im Dateimanager:

  • Groß- und Kleinschreibung: Auf dem Server sind Logo.png und logo.png verschiedene Dateien, auch wenn es auf Ihrem Computer funktioniert.
  • Ordner der Domain: Die Datei muss im Ordner dieser Domain liegen (public_html oder der Ordner der Add-on-Domain), nicht in einem anderen.
  • Pfade in einer CSS-Datei: Ein relativer Pfad wie url(img/fondo.jpg) in einer CSS-Datei wird ab dem Ordner der CSS-Datei gesucht, nicht ab der Seite.
  • Dateien mit Version oder Hash (app.3f9a1c.js): Nach einem Update der Website kann die Seite weiter die alte Datei anfordern, die Sie bereits gelöscht haben. Leeren Sie den Cache der Anwendung und, wenn Sie ein CDN verwenden, den des CDN.

Problem mit den Berechtigungen

Prüfen Sie, dass Ordner, Unterordner und die Dateien selbst die Berechtigungen 755 für Ordner und 644 für Dateien haben. Sie können sie im Dateimanager von cPanel per Rechtsklick > Change Permissions ändern. Verwenden Sie niemals 777: Das ist nicht nötig, und wir erklären es in Warum Sie keine Berechtigungen 777 brauchen.

Das Framework fängt die Anfragen ab

Frameworks und Anwendungen wie Laravel, Symfony oder CodeIgniter leiten alle Anfragen über Regeln in der .htaccess an ihre index.php weiter, und diese Regeln gelten auch für alle Unterordner. Wenn die Regeln vorhandene Dateien nicht ausnehmen, antwortet das Framework auf Ihre Bilder oder CSS-Dateien mit 404.

Öffnen Sie die .htaccess im Stammverzeichnis der Website und prüfen Sie, dass vor der Regel, die alles an index.php schickt, diese zwei Bedingungen stehen:

RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [L]

Mit ihnen liefert der Server eine Datei oder einen Ordner direkt aus, wenn sie existieren. Aktuelle Framework-Versionen enthalten sie bereits; das Problem tritt meist bei alten Versionen oder bei von Hand geänderten .htaccess-Dateien auf.

Wenn Sie diese .htaccess nicht ändern können, legen Sie eine weitere in dem Ordner an, in dem die fehlerhaften statischen Dateien liegen, mit dieser Zeile am Anfang:

RewriteEngine Off

So schalten Sie die Rewrite-Regeln nur in diesem Ordner ab, und der Rest der Website funktioniert wie bisher.

Sperre durch ModSecurity (Fehler 403)

Wenn der Fehler in der Registerkarte Netzwerk nicht 404, sondern 403 ist, blockiert höchstwahrscheinlich die Firewall ModSecurity die Datei irrtümlich, zum Beispiel wegen ihres Namens oder der Parameter der URL. Deaktivieren Sie sie kurz für die Domain, laden Sie die Seite neu und aktivieren Sie sie sofort wieder.

Wenn die Datei mit deaktiviertem ModSecurity lädt, schreiben Sie uns die genaue URL und die Uhrzeit: Wir richten eine Ausnahme nur für diese Regel und diesen Pfad ein, sodass Sie ModSecurity nicht deaktiviert lassen müssen.

Das könnte Ihnen auch helfen

Stimmt etwas nicht oder hat sich etwas geändert? Erzählen Sie es uns, und wir prüfen es.