Seit einiger Zeit hält mich die serendipity.css auf Trap.
Damit die CSS-Dateien nicht jedes Mal neu geladen werden, habe ich in meiner .htaccess folgendes eingebaut:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 1 week"
ExpiresByType application/javascript "access plus 1 week"
ExpiresByType application/x-javascript "access plus 1 week"
ExpiresByType image/gif "access plus 1 week"
ExpiresByType image/jpeg "access plus 1 week"
ExpiresByType image/png "access plus 1 week"
ExpiresByType image/x-icon "access plus 1 week"
</IfModule>
Wenn ich aber z. Bsp. Pagespeed befrage heißt es immer wieder, daß die serendipity.css nur 60 Minuten gecached wird.
Ich kann mir darauf leider keinen Reim machen, vielleicht könnt ihr mir weiterhelfen.
Die erste Frage wäre wohl, ob Du Dir sicher bist, dass mod_expires auch aktiv ist. Ansonsten sieht Dein Code ziemlich so aus, wie es generell empfohlen wird.
Ich habe es mal unterstellt, weil mit dem Code Pagespeed sagt, dass nur die eine besagte Datei das beschriebene Verhalten zeigt.
Wenn ich den Teil herausnehme, dann werden noch mehr Dateien - js und Bilder - erwähnt, die nicht gecached werden.
Das habe ich mal als Hinweis gewertet, daß es generell aktiv sein muss.
Oder hast Du da andere Hinweise für mich? Ich teste auch gerne was anderes, wenn Du das möchtest.
niffchen wrote:Das habe ich mal als Hinweis gewertet, daß es generell aktiv sein muss.
Stimmt. Ich hatte auch den Denkfehler drin, dass der .htaccess-Code in meinem Blog funktioniert – ich nutze bei mir aber im Moment gar nicht die (per PHP erzeugte) serendipity.css. Es könnte also sein, dass die nicht als text/css ausgeliefert wird. Da bin ich spontan überfragt.
Header. Der steht auf 60 Minuten im PHP-Code, siehe https://github.com/s9y/Serendipity/blob ... ss.php#L58. Überschreibt wohl die .htaccess, oder soll genau das andersrum sein? Müsste dann manuell angepasst werden (wird also beim Update auf 2.0 kaputtgehen).
onli wrote:Header. Der steht auf 60 Minuten im PHP-Code, siehe https://github.com/s9y/Serendipity/blob ... ss.php#L58. Überschreibt wohl die .htaccess, oder soll genau das andersrum sein? Müsste dann manuell angepasst werden (wird also beim Update auf 2.0 kaputtgehen).
Das Ding ist ja auch noch, dass diese “far future expires header” eigentlich erst sinnvoll sind, wenn zusätzlich Cache-Busting per Versionierung betrieben wird. Dann stellt man das Caching sogar noch deutlich länger ein als “access plus 1 week”, aber das ist eben nur sinnvoll, wenn CSS-Dateien (oder auch JS-Dateien) versioniert sind, also z.B. über dieses angehängte „?v=…“, was wir jetzt in 2.0 haben. (Über die Versionierung kriegt der Browser dann mit, wenn sich mal etwas an den Dateien geändert hat und das Expires umgangen werden muss, damit die neuen Styles geladen werden.)
Was ich mir allerdings wünschen würde (falls das technisch geht): Dass wir sowas ab 2.0 in die .htaccess schreiben.
yellowled wrote:Dann stellt man das Caching sogar noch deutlich länger ein als “access plus 1 week”, aber das ist eben nur sinnvoll, wenn CSS-Dateien (oder auch JS-Dateien) versioniert sind, also z.B. über dieses angehängte „?v=…“, was wir jetzt in 2.0 haben.
Da hast du recht. Wir sollten die Cachezeit für 2.0 direkt deutlich verlängern.
Also, Jens, je nachdem wie dringend es ist, könntest du dann einfach eine Weile warten (oder ist das anpassen des Codes dort problemlos für dich?)
onli wrote:Wir sollten die Cachezeit für 2.0 direkt deutlich verlängern.
Wir sollten generell mal gucken, ob man sowas in 2.0 nicht direkt in die .htaccess schreibt (auch damit Benutzer wie Jens es ggf. einfacher überschreiben können), und was wir sonst noch so in der .htaccess tun könnten, um Performance & Co. zu verbessern.
Ja, aber die .htaccess ist mehr Beiwerk. lighttpd lässt s9y ja auch laufen, und ignoriert die Datei. Notwendige Header müssen daher auch direkt in den Code…
Aber lass uns den thread hier nicht weiter kapern.
ich habe den Code angepasst und soweit tut es das für mich erstmal. Vielen Dank für den Tipp.
Ich bin mal gespannt, was ihr mit der Version 2.0 so alles bringt