HTML Website nach Updaten in Browser immer noch nich aktuell. Caching deaktivieren?

Zeboo

Lt. Commander
Registriert
Juli 2008
Beiträge
1.562
Hallo.

Kennt ihr das, wenn ihr eine neue Version der Webseite auf dem Server hochlädt, dann zeigen Browser immer noch eine alte an. Das irgendwie habe ich, das ist ne Javascript Seite, wurde aktuallisiert aber im Firefox werden immernoch die alten JS Funktionen benutzt. Ich habe alles umgeschrieben, aber Firefox nimmt das zeug aus dem Cache. Das ist nicht gut!

Kann man in eine Seite irgendwas einbinden, das verhindert dass sowas gecacht wird bzw. das immer die NEUE Version genommen wird?

Danke und Gruß

Edit: Habe mal natürlich

PHP:
		<meta http-equiv="cache-control" content="no-cache">
		<meta http-equiv="pragma" content="no-cache">

reingeworfen. Aber irgendwie hilft das nicht wirklich. Hm.
 
Zuletzt bearbeitet:
Hi,

nein, du hast keinen Einfluss darauf, was beim User im Cache landet und bleibt - das wird nach dessen Regeln vorgenommen. Ich kann auch die komplette Seite speichern und immer nur offline browsen.

Wo ist denn genau dein Problem? Möchtest du, dass bei DIR jetzt die aktuellen Versionen angezeigt werden oder geht es dir darum, beim USER die aktuellen Versionen zu erzwingen?

VG,
Mad
 
PHP:
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit
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");
HTML:
<meta http-equiv="expires" content="0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
Sind aber alles nur Hinweise und Aufforderungen.
 
Browser Cache leeren und gut ist? ;)

Ansonsten immer das nutzen(Würde das dann aber wieder rausnehmen wenn du eine schnelle Page habe willst):
<meta http-equiv="cache-control" content="no-cache">
 
Ich bin mir nicht sicher, aber ich glaube das Setzen des meta tags im HTML hat keine Auswirkung auf die Cachebarkeit der weiteren geladenen Resourcen (CSS/JS).

Die einzig absolut zuverlässige Maßnahme, welche Caching nicht verbietet ist es die Seite immer in einem neuen Verzeichnis abzulegen z.B.

http://www.meinetolleseite.de/version0/index.html
http://www.meinetolleseite.de/version1/index.html
....
http://www.meinetolleseite.de/version203/index.html

Dann machst du nur noch eine Weiterleitung, welche auf die richtige Seite weiterleitet.

Die Methode ist radikal, aber zuverlässig.
 
Hi,

Die Methode ist radikal, aber zuverlässig.

Sehr gute Idee, daran hatte ich gar nicht gedacht! Aber dann sieht es wahrscheinlich nicht mehr so gut bei den Google-Bots aus oder? Nicht falsch verstehen, ehrlich gemeintes Interesse.

Die Idee finde ich echt super!

VG,
Mad
 
Zuletzt bearbeitet:
Du könntest natürlich auch nach einem Update die Daten in
PHP:
header("Expires: Sat, 26 Jul 1997 05:00:00 GMT"); // Datum in der Vergangenheit
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GMT");
und
HTML:
<meta http-equiv="expires" content="0" />
aktualisieren. Somit sieht der Browser ob sich etwas getan hat oder nicht - auch eine bekannte Methode.
 
Hallo,
kann mir jemand sagen ob ich da was falsch umgeschrieben habe, weil das bei mir ned funzt:

Vorher:

<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

Nachher:

<head>
<title>Test</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="expires" content="0" />
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="pragma" content="no-cache" />
</head>
 
Meta- als auch Headerangaben sind nicht immer zuverlässig. Gerade der IE verhält sich gern mal anders. Das umbenennen des Pfades ist eine möglichkeit. Jedoch muss nicht die Datei woanders liegen, sondern nur der Link zu Datei muss sich unterscheiden. So funktioniert auch folgenes:
Code:
<script src="dateipfad/betroffene.js?<?= filemtime('dateipfad/betroffene.js') ?>"></script>
Das gute hierbei ist, man braucht nichts im Code für die Aktualisierung aktualisieren. Es wird ein Timestamp des "Zuletzt geändert Datum" als GET-Request angehangen. Als Nachteil wäre zu sagen, das Pageoptimierungsseiten jenen GET-Parameter bemängeln, weil anzunehmen wäre, das dieser abseits dieser Verwendung benutzt würde und dadurch das Caching umgehen würde.
 
Banthor schrieb:
Die einzig absolut zuverlässige Maßnahme, welche Caching nicht verbietet ist es die Seite immer in einem neuen Verzeichnis abzulegen z.B.

http://www.meinetolleseite.de/version0/index.html
http://www.meinetolleseite.de/version1/index.html
....
http://www.meinetolleseite.de/version203/index.html

Aus SEO Sicht aber sehr ungeschickt, trotz 303 Weiterleitungen :-).

Warum lagerst du das Scriptzeug nicht einfach aus und benennst die eingebundene Datei dann immer mit dem aktuellen Datum und z.B. Uhrzeit? Dann muss der Browser sie neu laden, da er ja keine bekannte im Cache hat?
 
Zurück
Oben