Seite speichert nicht im Cache

  • Hallo,


    ich habe folgendes Problem mit meinem neuen Webserver: der Browser (sowohl Chrome als auch Firefox, beides neuste Version) will die Seite (größtenteils Bilder) nicht in den Cache speichern. Das sieht man bei Chrome dadurch, dass wenn ich zu vorher schon geladenen Bildern zurückgehe diese neu heruntergeladen werden anstatt aus dem Cache angezeigt. Bei Firefox wird alles aus dem Cache angezeigt, allerdings beim Neustarten des Browsers erneut heruntergeladen. Das Problem besteht auch bei einem Freund, den ich testhalber die Seite habe anzeigen lassen.


    Beim vorherigen Projekt mit Webserver (damals auch noch das alte Confixx) hatte alles problemlos funktioniert und die Seite wurde auch immer schön aus dem Cache geladen.


    Daher die Frage: weiß jemand, woran es liegt bzw. wie ich den Fehler beheben kann? Ich habe in den Einstellungen des Webservers schon geschaut, allerdings habe ich da keine Lösung gefunden.


    Viele Grüße
    DrSkelettos

  • Ich muss noch mal korrigieren: es klappt doch nicht. Zumindest nicht richtig. Chrome lädt jetzt zwar nicht mehr während ich auf der Seite bin ständig neu runter, dafür aber jedes Mal wenn ich die Seite neu aufmache. Firefox, sobald ich den Browser einmal geschlossen habe (der Cache wird dabei nicht geleert, es ist alles richtig eingestellt und funktioniert mit der gleichen Seite auf meinem localhost auch bestens).

  • Überprüfe (per Browserplugin) was im Header der Seite übertragen wird.


    Wie ist das Caching in den Browsern eingestellt? Hast du es dort mit einem neuen, frischen Profil versucht?

    "Security is like an onion - the more you dig in the more you want to cry"

  • Und ich ziehe die Aussage schon wieder zurück.. auf den ersten Blick wirkt es immer so, als würde alles klappen. Am nächsten Tag dann die Enttäuschung. :D


    Hier der ausgelesene Header:


    Wie beschrieben ist Cache-Control nun auf public gesetzt. Was zumindest für mich da jetzt noch ersichtlich ist ist "Pragma: no-cache" - da habe ich allerdings keine Ahnung, wie ich das wegbekomme.

  • Ich habe per PHP nun mit header("Pragma:"); die entsprechende Wirkung erreicht: es wird nichts mehr neu geladen, sondern nur noch aus dem Cache geladen. Das führt nun aber dazu, dass wirklich gar nichts neu geladen wird und die Anzeige entsprechend nicht dynamisch ist, wie sie sein soll.


    Daher spezifiziere ich mein Anliegen vielleicht etwas: die PHP-Dateien sollen neu geladen und nicht gecached werden. Die Bilder und Audio-Files sollen komplett gecached werden. Ich bin über Google auf folgendes gestoßen, was per .htaccess-Datei funktionieren soll:


    Zitat

    <FilesMatch "\.(ico|jpeg|png|gif|js|css)$">
    Header unset Pragma
    Header set Cache-Control "max-age=29030400, public"
    </FilesMatch>

    Da es auf der Seite keine weiteren Erklärungen gab, habe ich das Ganze mal so als .htaccess gespeichert und in die entsprechenden Ordner der Dateien, die aufgerufen werden und die Bilder laden, gespeichert. Der Effekt ist allerdings nicht wie gewünscht, eigentlich merke ich gar nichts davon. Ich habe testweise die o.g. Pragma-Zeile wieder entfernt und nun ist es wie vorher, dass die Seite nach dem Browserneustart komplett inkl. Bildern neu geladen wird. Hat jemand dazu einen Tipp?