Google Pagespeed tarafından önerilen Set HTTP Caching erme,

3 Cevap php

Google'ın Pagespeed kullanarak benim web testler yaptık ve ben "Kaldıraç tarayıcı önbelleğe alma" ve aşağıdaki kaynak temin önerir:

http://code.google.com/speed/page-speed/docs/caching.html#LeverageBrowserCaching

Bu kaynak aslında benim http başlıklarının son kullanma tarihini değiştirmek için nasıl açıklar asla. Ben. Htaccess ile bunu musunuz? Ben (bir yıl maksimum Google'ın politikasını ihlal etmeden) mümkün olduğunca uzun süre için önbelleğe ayarlamak istiyorum.

(Özel php-odaklı sosyal ağ topluluk için) önerilen ayarları üzerinde herhangi bir tavsiye büyük mutluluk duyacağız.

3 Cevap

. Senin kökün htaccess in:

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 1 seconds"
  ExpiresByType image/x-icon "access plus 2592000 seconds"
  ExpiresByType image/jpeg "access plus 2592000 seconds"
  ExpiresByType image/png "access plus 2592000 seconds"
  ExpiresByType image/gif "access plus 2592000 seconds"
  ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds"
  ExpiresByType text/css "access plus 604800 seconds"
  ExpiresByType text/javascript "access plus 216000 seconds"
  ExpiresByType application/x-javascript "access plus 216000 seconds"
  ExpiresByType text/html "access plus 600 seconds"
  ExpiresByType application/xhtml+xml "access plus 600 seconds"
</IfModule>

Ve tarafından takip:

<IfModule mod_headers.c>
<FilesMatch "\\.(ico|jpe?g|png|gif|swf)$">
Header set Cache-Control "max-age=2692000, public"
</FilesMatch>
<FilesMatch "\\.(css)$">
Header set Cache-Control "max-age=2692000, public"
</FilesMatch>
<FilesMatch "\\.(js)$">
Header set Cache-Control "max-age=216000, private"
</FilesMatch>
<FilesMatch "\\.(x?html?|php)$">
Header set Cache-Control "max-age=600, private, must-revalidate"
</FilesMatch>
Header unset ETag
Header unset Last-Modified
</IfModule>

Bu ben yönettikleri her özelliği kullanmak ve bana (ve Pagespeed) için en tatmin edici sonuçlar sunuyor aynı kodudur. Bir belirli kurallara iddia olabilir, ben o tatmin me söyledi bu yüzden, ama kesinlikle Pagespeed karşılar.

Bu htaccess ve php hem de yapılabilir. Genellikle (gerekirse o header() php fonksiyonu ile yapılabilir), dinamik veritabanı odaklı içerik beri gerçek html önbelleğe zorlamak istemem. Ne önbelleğe istediğiniz harici css & olduğunu javascript, ve görüntü dosyaları.

. Htaccess çözümü için buraya bakınız: http://www.askapache.com/htaccess/apache-speed-expires.html

Orada ETag unset bir nedeni ve son-Modifiye Sadece merak

Bu ATM bana açık değildir

Ayrıca, sona erme ve önbelleği sağlayarak hem de en iyi performansı nasıl alabilirim anlamıyorum. Hem diyelim yönde çalışıyoruz, ve muhtemelen belli bir noktada çarpışır söyleyebilirim.

Hatta hakkında Geçerlilik veya son-Modified veya ETag (bir kez daha aynı anda her iki kullanılmamalıdır) en az biri ile, ardından Cache-Control, ya da uygulamaya göstermektedir.