Ben sıkıştırması ile css dosyaları dahil etmek için bir kamu php dosyası oluşturun hangi bir css dosyası gziplemek konusunda bazı dersler üzerinde var. Sorun benim css dosyaları önbelleğe alınamıyor değildir. Ben referans için kundakçı kullanıyorum ve aslında bazı javascript sıkıştırmak için aynı kodu kullanarak denedim ve gayet önbelleğe alır.
İşte kod:
if(extension_loaded('zlib')){ ob_start('ob_gzhandler'); } $offset = 60 * 60 * 24 * 31; header('Content-type: text/css'); header ('Cache-Control: max-age=' . $offset . ', must-revalidate'); header ('Expires: ' . gmdate ("D, d M Y H:i:s", time() + $offset) . ' GMT'); ob_start("compress"); function compress($buffer) { // Remove Comments, White Space, End ;'s $buffer = preg_replace('#/\*.*?\*/#s', '', $buffer); $buffer = preg_replace('/\s*([{}|:;,])\s+/', '$1', $buffer); $buffer = preg_replace('/\s\s+(.*)/', '$1', $buffer); $buffer = str_replace(';}', '}', $buffer); $buffer = str_replace(' {', '{', $buffer); return $buffer; } include('global.css'); if(extension_loaded('zlib')){ ob_end_flush(); }
Then I'm simply referencing my php file as a css document on other pages. As you can see I've tried adding max age to the mix which also proves unsuccessful.
İşte yanıt başlıkları vardır
Date Tue, 21 Jul 2009 19:59:19 GMT Server Apache/1.3.41 (Darwin) PHP/4.4.9 X-Powered-By PHP/4.4.9 Cache-Control max-age=2592000, must-revalidate Expires Thu, 20 Aug 2009 19:59:19 GMT Content-Encoding gzip Vary Accept-Encoding Keep-Alive timeout=15, max=93 Connection Keep-Alive Transfer-Encoding chunked Content-Type text/css
Kaçırdığım bir şey, ya da bu yapıyor hakkında gitmek için daha iyi bir yolu var mı?
Teşekkürler,
EDIT:
Dosya değiştirildi ve olup olmadığını algılayan bir komut dosyası o varsa uygun başlıklarıyla birlikte, bir 304 değil göndererek bu sorunu çözmüştür.
Arthur