| |||||||
| Registrieren | Lexikon | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
| | Themen-Optionen | Ansicht |
| | #1 (permalink) |
| PostRank: 5 ![]() Registriert seit: 28.02.2005
Beiträge: 300
| Cache-Problem - Nutzer sehen nicht die aktuelle Version der Website Auf der Website edd - entdecke dein dekanat nutze ich WordPress als CMS. Seit längerer Zeit berichten mir Nutzer, dass es zu folgendem Problem kommt: - auf der Startseite werden nicht die aktuellen, sondern veraltete Beiträge angezeigt - auch auf anderen Seiten werden z.B. die neuesten Kommentare nicht angezeigt Mittlerweile habe ich im head-Bereich <meta name="expires" content="0"> gesetzt und auch die interne Caching-Funktion von WordPress angewiesen, die Seiten nur für einige Stunden zu cachen. Die Nutzer berichten jedoch, dass neue Artikel über Wochen nicht angezeigt werden. Bei einigen funktioniert es wieder, wenn sie den Internetcache leeren, aber das ist ja keine Lösung, wenn ich für die Nutzung einer Website immer den Cache leeren muss. Bei einigen funktioniert es nicht mal nach Leerung des Cache korrekt. Das Problem besteht übrigens seit Dezember 2007. Die Seite nutzt immer die aktuellste Version von WordPress, gegenwärtig 2.5. Das Problem besteht etwa seit WordPress 2.3. Kennt jemand die Problematik, oder hat jemand noch eine Idee, die mir weiterhilft?!
__________________ METAFAKTEN // Netzgeschehen und freie Software Geändert von Johannes Ries (08.04.2008 um 14:32 Uhr). |
| | |
| | #2 (permalink) |
| PostRank: 10 ![]() Registriert seit: 21.10.2006
Beiträge: 2.107
| Die Seite sendet einen falsches Datum im Response-Header: Code: Expires: Thu, 19 Nov 1981 08:52:00 GMT Last-Modified: Sun, 19 Nov 2006 06:56:06 GMT Code: If-Modified-Since: Sun, 19 Nov 2006 06:56:06 GMT Code: HTTP/1.x 304 Not Modified Warum das so ist, ist schwer nachvollziehbar. Verwendest Du irgendein WP-Cache-Plugin? Ansonsten könntest Du versuchsweise mal folgende Zeile ganz am Anfang noch vor dem '<!DOCTYPE html PUBLIC...' in der Datei header.php des Themes einfügen: PHP-Code: Gruß Ingo |
| | |
| | #3 (permalink) |
| PostRank: 5 ![]() Registriert seit: 28.02.2005
Beiträge: 300
| Hallo Ingo, danke für deine ausführliche Antwort. Ich verwende kein WP-Cache-Plugin. Auf den Response-Header zu schauen habe ich noch gar nicht in Betracht gezogen. Danke für den Wink. Ich habe jetzt mal den nocache-Befehl mal eingefügt - aber der bringt nur was bei WP-Cache-Plugins was, oder? Im Moment bekomme ich: Code: Last-Modified: Wed, 09 Apr 2008 07:28:55 GMT Vielen Dank aufs erste Johannes
__________________ METAFAKTEN // Netzgeschehen und freie Software |
| | |
| | #4 (permalink) | ||
| WPD-Team ![]() Registriert seit: 05.10.2006
Beiträge: 8.025
| Zitat:
Code: Cache-Control: no-cache, must-revalidate, max-age=0 Expires: Wed, 11 Jan 1984 05:00:00 GMT Pragma: no-cache Zitat:
| ||
| | |
| | #5 (permalink) |
| PostRank: 10 ![]() Registriert seit: 21.10.2006
Beiträge: 2.107
| Die nocache_headers()-Funktion hat nichts mit WP-Cache-Plugins zu tun. Code: Last-Modified: Wed, 09 Apr 2008 07:28:55 GMT Allerdings ist das nur ein Workaround, damit wird zwar die Auswirkung "bekämpft", aber die Ursache bleibt leider im Dunkeln. Konkret stellt sich halt die Frage, wer oder was eigentlich das falsche Last-Modified setzt. Gruß Ingo |
| | |
| | #6 (permalink) | |
| PostRank: 10 ![]() Registriert seit: 21.10.2006
Beiträge: 2.107
| Zitat:
PHP-Code: Ingo Geändert von Putzlowitsch (09.04.2008 um 10:08 Uhr). | |
| | |
| | #7 (permalink) |
| PostRank: 10 ![]() Registriert seit: 21.10.2006
Beiträge: 2.107
| Ich vermute aber eher, das der Server/PHP beim Fehlen der Werte für "Expires" und "Last-Modified" diese selber setzt. Und zwar auf das Datum der index.php im WP-Wurzelverzeichnis (diese wird ja aufgerufen). Oder es ist ein großer Zufall, daß diese Datei index.php als Dateidatum den 19.11.2006 07:56 hat, zumindest wird das bei mir lokal so angezeigt Nachtrag: Oder anders herum. Also der Server setzt im Response-Header zunächts die Werte, z.B. Last-Modified auf das Dateidatum der aufgerufenen index.php. Da WP diese Werte normalerweise nicht ändert, bleiben sie also so stehen. Es könnte also doch funktionieren, wenn man diese einfach am Anfang der header.php wieder zurücksetzt. Es dürfte sich also um ein Konfigurationsproblem von Server/PHP handeln. Gruß Ingo Geändert von Putzlowitsch (09.04.2008 um 10:15 Uhr). |
| | |
| | #8 (permalink) | |
| WPD-Team ![]() Registriert seit: 05.10.2006
Beiträge: 8.025
| Zitat:
Ich wollte oben noch dazu schreiben, dass das eben nur die Smptome bekämpft aber nicht die Ursache. Wollte aber den OP nicht verwirren. PS: Wenn mod_headers verfügbar ist kann man die HTTP-Header vielleicht auch in der .htaccess setzen. | |
| | |
| | #9 (permalink) |
| PostRank: 10 ![]() Registriert seit: 21.10.2006
Beiträge: 2.107
| Bei Feeds ist das einfach, da kann WP direkt aus der Datenbank auslesen, wann es die letzte Änderung gab. Bei den Seiten selber allerdings nicht, gerade wegen einer Vielzahl möglicher dynamischer Inhalte, die irgendwo in der Sidebar oder sonstwo im Theme oder über Plugins eingefügt sein können. Ich denke mal, das die Variante mit dem Löschen der Header in der header.php am paraktikabelsten ist, wenn sie funktioniert. Nur als Workaround versteht sich, der eigentlichen Ursache sollte man schon auf die Schliche kommen. Gruß Ingo |
| | |
![]() |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | |
| |