Meine Site befindet sich auf einem Server, der Varnish als (leistungsstarke) Caching-Engine verwendet. Leider scheint WordPress den Lack-Cache zu sprengen, indem es einen http-Header zur Cache-Steuerung sendet. Wenn curl -I domain.com
ich bekomme:
HTTP/1.1 200 OK
Server: Apache/2.4.10
X-Powered-By: PHP/5.4.4-14+deb7u14
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Set-Cookie: PHPSESSID=e00738aoughg407ljm270kj0l6; path=/
Content-Type: text/html; charset=UTF-8
Accept-Ranges: bytes
Date: Fri, 31 Oct 2014 21:44:16 GMT
Connection: keep-alive
Via: 1.1 varnish
Age: 0
Ich habe andere WordPress-Sites auf diesem Server gehostet, die ordnungsgemäß mit dem Varnish-Server funktionieren. Daher bin ich mir ziemlich sicher, dass das Problem durch diese spezielle Installation verursacht wird. Folgendes habe ich versucht:
- Deaktiviere alle Plugins. Leeren Sie den Lack-Cache, dann
curl -I
: gleiches Ergebnis. - habe alle meine Themendateien durchgesehen. Nichts verdächtiges.
Haben Sie eine andere Idee, was das Problem verursachen könnte?
no-store
, die im Kern verwendet wird. Ich bezweifle, dass dies von WP selbst kommt.Antworten:
Dank der Antwort von @ chrisguitarguy können Sie die von Wordpress gesendeten http-Header über den Hook "send_headers" steuern. Hier ist die Funktion, die ich zur Datei functions.php meines Themas hinzugefügt habe und die das Problem mit dem Lackserver behoben hat.
quelle
Sie können
wp_headers
die Cache-Steuerungsheader einbinden und entfernen. WordPress sendet jedoch im AllgemeinenCache-Control
nur für Admin-Bereich- oder Ajax-Anfragen.quelle