2010-11-24 12 views

Antwort

2

In Ihrem .htaccess (wenn das eine Option) Sie können eine <FilesMatch> block mit Header directives verwenden. Dies erfordert mod_headers, obwohl, und ich bin mir ziemlich sicher, dass Sie nicht ein "rollendes" Ablaufdatum (d. H. "Ein Jahr von jetzt") angeben können. Daher müssen Sie diese Einstellung beispielsweise einmal pro Jahr bearbeiten: .

Haben Sie auch this question gesehen?


1) Offenbar sollten Sie darauf verzichten, die Expires auf mehr als ein Jahr in die Zukunft setzen: „Setzen sie nicht [die Expires Header], um mehr als ein Jahr in der Zukunft, wie die verstößt gegen die RFC-Richtlinien. " (Quelle: Optimize caching)

+0

Das hat funktioniert. Danke vielmals. Es macht mir nichts aus, es einmal im Jahr zu bearbeiten. – Hedge

+0

@Hedge Großartig, es ist schließlich eine einfache Lösung. – jensgram

2

Sie PHP verwenden können Ablauf Header einbetten,
nicht effizient wie Apache mod_expires ist,
aber als es am wenigsten noch in der Lage für gefüllten Cache bedient

eine weit in der Zukunft Mit Verfällt wirken Kopfseitenaufrufe nur nachdem ein Benutzer bereits Ihre Website besucht hat. Es hat keinen Einfluss auf die Anzahl der HTTP-Anfragen, wenn ein Benutzer Ihre Website zum ersten Mal besucht und der Cache des Browsers leer ist. Daher hängt die Auswirkung dieser Leistungsverbesserung davon ab, wie oft Benutzer Ihre Seiten mit einem vorbereiteten Cache erreichen. (Ein "grundierter Cache" enthält bereits alle Komponenten auf der Seite.) Wir haben das bei Yahoo! und fand die Nummer der Seitenaufrufe mit einem vorbereiteten Cache 75-85%. Durch die Verwendung einer fernen Zukunft Expires Header, erhöhen Sie die Anzahl der Komponenten, die durch den Browser im Cache zwischengespeichert und in nachfolgenden Seitenansichten wieder verwendet werden, ohne ein einzelnes Byte über die Benutzer-Internetverbindung zu senden.

Quelle: http://developer.yahoo.com/performance/rules.html#expires

2

gerade den Header selbst senden mit header()

header("Expires: Thu, 01 Dec 1994 16:00:00 GMT", true); 

Edit: Didnt sehen, dass Bilder, ... werden ebenfalls erwähnt. Dies funktioniert nur für PHP-Dateien oder alles, was Sie php übergeben, was in den meisten Fällen keine wirklich gute Idee ist.