Änderungen auf der Website werden nicht jedem Besucher angezeigt
Früher war alles noch “einfach”:
Da hat man seine HTML-Datei geändert, die dann anschließend automatisch das aktuelle Datum enthielt. Beim Aufruf der Seite wurde vom Browser* das Datum dieser Datei mit dem Datum der im Cache befindlichen Datei verglichen und die neue Version auf dem Bildschirm angezeigt.
Heute:
Heute hat man im Regelfall eine MySQL-Datenbank und PHP-Dateien, die HTML-Seiten mit Hilfe der Daten aus der Datenbank produzieren. Die PHP-Dateien werden selbst nicht geändert und…
Richtig! Der Browser erkennt deswegen nicht zwangsläufig, dass es sich um eine neue Seite mit neuen Daten handelt, natürlich und immer vorausgesetzt, die Dateien befinden sich noch im Cache und es wurde ihm nicht explizit mitgeteilt, dass es neue Daten enthält.
Vorläufiges Fazit:
Werden die Dateien vom Browser nicht automatisch aus dem Cache gelöscht und das aktuelle Datum nicht automatisch vom Server an den Browser übermittelt, dann werden die Besucher, die wiederholt die Seite besuchen, die Änderungen auf der Website nicht sehen können.
Und nun?
Den Besuchern gleich auf der Startseite mitteilen, dass Sie den Cache löschen sollen, damit sie auch den aktuellen Stand der Seite sich ansehen können?
Nein, natürlich nicht!
Fügen Sie einfach direkt vor die Zeile:
< ! DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN…
die folgende:
<?php nocache_headers(); ?>
und zusätzlich in den header-Bereich die folgenden:
<meta http-equiv=”expires” content=”0″ />
<meta http-equiv=”cache-control” content=”no-cache” />
<meta http-equiv=”pragma” content=”no-cache” />
Nun sollten auch die Besucher, die wiederholt Ihre Seite besuchen, auch die Änderungen sehen können, unabhängig davon, welchen Browser diese nutzen und welche Einstellungen vorgenommen wurden.
* Ein Browser ist das Programm mit dem Sie sich die Internetseiten ansehen können, z.B. Firefox, AOL, Safari, Internet Explorer, Opera,…









18:49
abgelegt unter: 
18. April 2010 um 12:22 Uhr
Funktioniert gut für PHP-Dateien, leider nicht so gut für CSS- und Javascript-Dateien. Für die beiden letzten Fälle kann man sich aber zB im Header einen Datumszusatz auf Stundenbasis errechnen, der durch Apache-Rewrite wieder entfernt wird…