Frage

Ich versuche Verfällt Header für Bilder zu ermöglichen, wie von YSlow empfohlen. Ich bin sicher, ich hatte diese Arbeiten vor, aber jetzt, wenn ich überprüfen YSlow es sagt, sie sind nicht im Cache gespeichert werden.

Für meine .htaccess, ich habe versucht:

ExpiresActive on
ExpiresDefault A0
<FilesMatch "\.(gif|ico|jpg|png)$">
    ExpiresDefault A29030400
    Header append Cache-Control "public"
</FilesMatch>

und

ExpiresActive on
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"

http://www.seoconsultants.com/tools/headers.asp gibt die folgende für eines meiner Bilder:

HTTP Status Code: HTTP/1.1 200 OK
Date: Mon, 05 Oct 2009 20:12:04 GMT
Server: Apache/2.0.63 (Unix) mod_ssl/2.0.63 OpenSSL/0.9.8e-fips-rhel5 mod_bwlimited/1.4 PHP/5.2.8
X-Powered-By: PHP/5.2.8
Set-Cookie: PHPSESSID=5d11f4d8aa37ceee6605786e59ff4f0f; path=/
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: lastlogin=1254773024; expires=Mon, 02-Nov-2009 20:12:04 GMT
Connection: close
Content-Type: image/jpeg

Der Set-Cookie-Teil sieht richtig, aber die Expires-Header nicht. Wie kann ich Satz Gültig bis richtig und warum unterscheiden sie sich? Ich habe doppelt geprüft, dass mod_expires und mod_headers aktiviert sind.

War es hilfreich?

Lösung

Aus den Set-Cookie-Header, es sieht aus wie dieser Teil einer PHP-Sitzung ist. php automatisch deaktiviert das Caching nach einem session_start ().

Sie können dieses Verhalten ändern, indem session.cache_limiter in der php.ini zu ändern. Siehe die PHP-Manual Seite die verschiedenen Einstellungen.

Alternativ könnten Sie versuchen, mit „Set“ anstelle von „Anfügen“, um die Header in der .htaccess außer Kraft setzen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top