2013-02-06 16 views
5

Mam problemy z buforowaniem przeglądarki Leverage. Utworzyłem ten plik .htaccess i używam go na moim serwerze, ale wygląda na to, że działa, i skopiowałem go stąd "http://www.samaxes.com/2011/05/improving-web-performance-with-apache-and-htaccess/". Najprawdopodobniej popełniłem podstawowy błąd, więc każda pomoc byłaby miła. tutaj jest kilka szczegółów. Pracuję nad subdomeną, nazwijmy ją "sub" i główną domeną "przykład". , więc chcę wszystko w http://sub.example.com/ dla pliku htaccess do pracy. na moim serwerze umieściłem plik .htaccess w głównym katalogu sub, który jest na przykład oddzielny od głównego.htaccess for Wykorzystanie buforowania przeglądarki nie działa

Używam serwera apache2 z włączonymi także mod_headers i mod_expires.

Pozdrawiam.

<ifModule mod_deflate.c> 
AddOutputFilterByType DEFLATE text/html text/xml text/css text/plain 
AddOutputFilterByType DEFLATE image/svg+xml application/xhtml+xml application/xml 
AddOutputFilterByType DEFLATE application/rdf+xml application/rss+xml application/atom+xml 
AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript application/json 
AddOutputFilterByType DEFLATE application/x-font-ttf application/x-font-otf 
AddOutputFilterByType DEFLATE font/truetype font/opentype 
</ifModule> 
<ifModule mod_expires.c> 
ExpiresActive On 
ExpiresDefault "access plus 5 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/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> 
<filesMatch "\\.(ico|pdf|flv|jpg|jpeg|png|gif|swf|mp3|mp4)$"> 
Header set Cache-Control "max-age=2592000, private" 
Header set Expires "Sun, 17 July 2013 20:00:00 GMT" 
</filesMatch> 
<filesMatch "\\.(css|css.gz)$"> 
Header set Cache-Control "max-age=604800, private" 
</filesMatch> 
<filesMatch "\\.(js|js.gz)$"> 
Header set Cache-Control "max-age=604800, private" 
</filesMatch> 
<filesMatch "\\.(xml|txt)$"> 
Header set Cache-Control "max-age=216000, private, must-revalidate" 
</filesMatch> 
<filesMatch "\\.(html|htm)$"> 
Header set Cache-Control "max-age=7200, private, must-revalidate" 
</filesMatch> 
FileETag None 
+0

Bump wciąż szuka – clonerworks

Odpowiedz

5

wygląda bardzo niechlujnie.

Trzeba także zbędne zasady jak

ExpiresByType application/javascript "access plus 216000 seconds"

i

<filesMatch "\\.(js|js.gz)$"> 
Header set Cache-Control "max-age=604800, private" 
</filesMatch> 

Spróbuj użyć odkurzacza (i aktualne) zasad od html5-boilerplate lub kasy wszystkich h5bp server configs

0

używaj tylko tego i spróbuj:

<ifModule mod_expires.c> 
ExpiresActive On 
ExpiresDefault "access plus 5 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/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> 

Podobnie jak zauważyła @Anthony Hatzopoulos, używasz zduplikowanych konfiguracji i mogą one powodować konflikty. Oczywiście, jeśli chcesz, możesz również użyć metody "fileMatch", ale nie jest to dobry kod. Uwaga: jeśli używasz "fileMatch", to nie używasz tego kodu.