• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Website aus Cache trotz meta-Angaben

Seppeli

Neues Mitglied
Hallo Zusammen,
ich möchte aufgrund vieler Änderungen an meiner HP nicht, dass die Website im Cache der Besucher gespeichert wird. Ich hab auch alle nötigen Meta-Angaben gemacht, aber trotzdem lädt er immer wieder die Seite aus dem Cache. Hier mal meine Angaben:
HTML:
<META HTTP-EQUIV="CACHE-CONTROL" CONTENT="no-cache">
<META HTTP-EQUIV="PRAGMA" CONTENT="no-cache"> 
<meta http-equiv="expires" content="0">
<link rel="shortcut icon" type="image/x-icon" href="/favicon.ico">
<?php
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Cache-Control: no-cache");
header("Pragma: no-cache");
?>

Ist da irgendetwas falsch?
Vielen Dank für eure Hilfe. Einen schönen Sonntag.
Seppeli
 
Werbung:
Wenn ich es richtig in Erinnerung habe, werden header-Befehle in PHP nur ausgeführt, wenn vor noch kein bisschen Code ausgeliefert wurde. Das heißt, damit der Code technisch funktioniert, müsste die Seite mit einem <?php und den Header-Befehlen anfangen.
Ob die dann jeweils den Browser beeindrucken? Keine Ahnung ...
Wird tatsächlich die HTML-Datei aus dem Cache geladen? Oder betrifft das Problem die zugeladenen Dateien (Css- oder Js-Files) oder Bilder?
 
Werbung:
Hallo,

mit Codeschnipseln können mögliche Helfer nicht allzu viel anfangen. Besser ist immer ein Link zu Seite und die Angabe, mit welchen Browsern du das probiert hast.

ich möchte ... nicht

Das ist eines der Hauptprobleme von Webseitenerstellern. Was du möchtest interessiert recht wenig. Du kannst Informationen bereitstellen, die die User dann abrufen können. Wie sie das machen und wie sie die Seite bei sich darstellen lassen ist dann ihre bewußte (oder häufig auch unbewußte) Entscheidung. Wenn du die volle Kontrolle behalten willst musst du deine Infos halt drucken oder als pdf-File erstellen.

Das heißt für dein Problem: Deine Angaben zur Vermeidung des Cachens sind Wünsche, denen die User bzw. ihre Browser folgen können oder nicht. Du kannst das aber nicht vorschreiben. Viele Browser versuchen zu erkennen, ob der Inhalt einer Seite ich regelmäßig ändert (z. B. Foren / Blogs / News / Auktionen) oder nicht und versuchen die die Seiten direkt oder über den Cache zu laden. Bei einigen Browsern kann der User das Verhalten auch beeinflussen. Deine Angaben im header können die Browser dabei als Wunsch berücksichtigen oder halt nicht.

Gruss

MrMurphy
 
Vlt. liegt es auch an deinem Browser? Oder hast Du es bereits mit mehreren, vlt. sogar auf verschiedenen Computer, probiert?
 
Also die Seite ist TuS Germania Arenberg und ich verwende Chrome. Das Problem ist auch nicht nur bei mir aufgetreten, sondern auch bei ein paar anderen Leuten, wovon einer mit Sicherheit den IE10 benutzt.
Das heißt für dein Problem: Deine ... berücksichtigen oder halt nicht.
Hab ich das jetzt richtig verstanden, dass ich die Browser nicht zwingen kann, sondern letztendlich immer von PC zu PC entschieden wird, ob der Cache benutzt wird oder nicht? Und ich nur, falls die Browser mich entscheiden lassen, eine Art "Hilfestellung" geben kann?
Und das Problem betrifft nicht nur die Bilder oder CSS, sondern alles.
 
Werbung:
Auf der Seite sehe ich (neben einigen HTML-Fehlern die Du beseitigen solltest) auch, dass Du den PHP-Code falsch eingebunden hast. Du hast ihn einfach mitten in deinen Quellcode kopiert. Deine Dateien sind aber keine PHP-Dateien, weshalb sie auch nicht von PHP geparst und die Angaben somit ausgeführt werden würden. Du müsstest also (theoretisch!) alle Dateien die Dateiendung .php geben.

Allerdings würde sich dadurch ein anderes Problem ergeben: dadurch, dass Du die PHP-Ausgabe mitten in deinen Quellcode kopiert hast, würde das zu einem PHP-Fehler führen. Vor der header()-Angabe darf nämlich keinerlei (!) Ausgabe existieren - tut es bei dir aber.

Du hast daher 2 Möglichkeiten:
a) Ändere die Dateiendungen auf .php und verschieben den eingefügten PHP-Code vor den Doctype, vor jegliche Ausgabe. Dazu muss dein Webspace PHP unterstützen, Du musst die Dateinamen und somit vermutlich auch alle Verlinkungen ändern.
b) Falls dein Webspace das Apache-Modul mod_expire unterstützt, könntest Du die Cache-Angaben auch darüber konfigurieren und müsstest deine eigenen HTML-Dateien gar nicht anpassen. Das geht jedoch meist nur auf richtigen Servern, selten auf Webspace-Paketen.

Unabhängig davon solltest Du wie schon gesagt auch den HTML-Code korrigieren:
[Invalid] Markup Validation of http://www.tus-arenberg.de/ - W3C Markup Validator

Und wg. dem Browser-Cache:
Ja, bei jedem Browser kann der Nutzer einstellen, wie sich der Browsercache verhalten soll. In der Standard-Einstellung ist meist (!) festgelegt, dass der Browser prüft, ob eine neue Version der aufgerufenen Webseite verfügbar ist. Wenn ja, dann wird diese geladen.
Abhängig von dieser Einstellung berücksichtigt ein Browser die Cache-Angabe der Webseite oder auch nicht. Du kannst daher wirklich nur eine Empfehlung in deiner Webseite eintragen.

Das ganze Cache-Thema seitens der Webseiten ist übrigens eher ungewöhnlich. Bei den allermeisten Webseiten ist so eine Einstellung nicht notwendig. Wenn doch, könnte es auch am verwendeten Webspace liegen. Du könntest es ja auch mal auf einem anderen Webspace probieren. Falls es doch ohne Probleme geht, dann wechsel den Webspace oder wende dich an deinen Webhoster.
 
Alles klar, vielen Dank. Die Option mit dem Webserver Wechsel schaue ich mir mal an. Mit der Änderung in .php schaue ich mal, macht ja so keinen Unterschied für die Seite oder?
Und mit dem beseitiges der Fehler bin ich wohl auch einige Zeit beschäftigt.
Alles in Allem vielen Dank für die Hilfe!
 
Zurück
Oben