Hallo,
ich habe eine Seite überarbeitet, nun zeigt der safari-Browser immer noch die alten Seiten an - die links sind teilweise gleich und er nimmt sich offenbar dann die alte Version aus dem Cache.
Kann man den Browsern auf der Indexseite irgendwie aktiv mitteilen, daß sie die Seiten nicht mehr aus dem Cache nehmen sollen?
Oder weiß jemand sonst, wie man das in den Griff kriegt?
Die Leute wissen zum Teil ja nicht, daß sie ihren Cache leeren können/müssen.
Es gibt eine einfache Methode, um das Speichern im Cache zu verhindern. Sieht so aus: <meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="pragma" content="no-cache">
Der Nachteil, wie bei so vielen einfachen Methoden, ist, dass manche Browser das überhaupt gar nicht interessiert. ;ugl
Es gibt auch noch eine Methode mit PHP, die zumindest immer funktioniert: [php]<?php
//Set no caching
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
?>[/php] (Quelle: Bits of PHP code - No Caching - James Cridland)
Wird denn in allen anderen Browsern die aktuellere Version sofort angezeigt? Ansonsten könnte es nämlich auch an deinen Proxy-Einstellungen liegen. Das kannst du am besten überprüfen, indem du jemand anderen irgendwo anders die Seite auf das Problem hin testen lässt.
Vielen dank, ich oute mich nun leider als nullcheckerin, aberich müsste noch wissen:
*das php-script - kann das irgendwo hin in meine Seite - oder zwische head und body oder auch in den head?
*soll das nun einfach so reingeklatscht werden, oder muss ich das modifizieren zb das expiredatum?
*was sind denn meine Proxi-einstellungen?
Vielen Dank für eine Beantwortung, das eichhörnchen ernährt sich ja mühsam aber beharrlich …
Nö, also das Script muss in diesem Fall (es werden header-Informationen aufbereitet) vor der ersten Ausgabe an den Browser gesendet werden, also auf jeden Fall vor den Ich schreibe sowas immer vor dem kompletten HTML-Teil.
Modifizieren musst Du nichts. Mit dem längst abgelaufenen expire-Datum erreichst Du, dass der Browser immer nachschaut, um eine aktuallisierte Version der Seite zu laden.
Zu Deinen Proxy-Einstellungen kann ich Dir auch nichts sagen (da ich von sowas auch nicht die große Ahnung habe).
Das muss ganz, ganz, ganz nach oben, vor alle anderen Zeichen, die im Quelltext stehen, ohne den geringsten Abstand zum Anfang (keine leeren Zeilen, keine Leerzeichen).
soll das nun einfach so reingeklatscht werden, oder muss ich das modifizieren zb das expiredatum?
Nein, das muss so bleiben; das Expire-Datum ist absichtlich weit in die Vergangenheit verlegt.
was sind denn meine Proxi-einstellungen?
Die findest du im Internet Explorer unter :arrow:Extras :arrow:Internetoptionen :arrow:Verbindungen und dann kommt es ein wenig drauf an (:mrgreen:)… Im Firefox: :arrow:Extras :arrow:Einstellungen :arrow:Erweitert :arrow:Netzwerk
Was du da jetzt einstellen musst, weiß ich leider auch nicht so genau…
EDIT: Ok, thuemmy hat eigentlich 90% davon schon gesagt… :-?
hm - alle sagen immer ich bin kompliziert - aber ich kann nix dafür:
mir fällt grade ein, daß der Mensch für den ich die seite mache, bei seinem Provider ein Paket gebucht hat das nur asp kann und kein php
was mach ich dann jetzt?