2012-10-23 12 views
18

Sto provando a creare un file htaccess per il mio sito web e la paginaSpeed ​​insights ha mostrato che ci sono immagini e un file css senza scadenza.htaccess sfruttare il caching del browser per immagini e css

Non sono sicuro da dove iniziare o come farlo, ho questo codice da un tutorial online e mi chiedevo se questo sarebbe stato sufficiente per funzionare.

<IfModule mod_expires.c> 
ExpiresActive On 
############################################ 
## Add default Expires header 
## http://developer.yahoo.com/performance/rules.html#expires 
<FilesMatch "\.(ico|pdf|flv|jpg|jpeg|png|gif|js|css|swf)$"> 
ExpiresDefault "access plus 1 year" 
</FilesMatch> 
</IfModule> 

Oppure questo codice fa ciò che mi serve per fare?

Grazie

risposta

37

provare qualcosa di simile

<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresDefault "access plus 1 seconds" 
    ExpiresByType text/html "access plus 1 seconds" 
    ExpiresByType image/x-icon "access plus 2592000 seconds" 
    ExpiresByType image/gif "access plus 2592000 seconds" 
    ExpiresByType image/jpeg "access plus 2592000 seconds" 
    ExpiresByType image/png "access plus 2592000 seconds" 
    ExpiresByType text/css "access plus 604800 seconds" 
    ExpiresByType text/javascript "access plus 86400 seconds" 
    ExpiresByType application/x-javascript "access plus 86400 seconds" 
</IfModule> 

o

<FilesMatch "\.(?i:gif|jpe?g|png|ico|css|js|swf)$"> 

    <IfModule mod_headers.c> 
    Header set Cache-Control "max-age=172800, public, must-revalidate" 
    </IfModule> 

</FilesMatch> 
+0

Grazie, dovrei aggiungere questo tra le tag come ho cercato questo e si vede ancora come di scadenza non impostare – Sam

+1

dont aggiungere questo in '' si potrebbe aggiungere questo prima o dopo questo –

+0

ho aggiunto nel codice che hai dato sopra che è 'ExpiresActive On per ExpiresByType application/x-javascript "accesso più 86400 secondi"' questo è tutto ciò che ho nel file .htaccess e non funziona, per favore posso tu aiuti. grazie – Sam

23

So che questa è una risposta tardiva, ma quanto sopra non ha funzionato per me. Invece ho usato il seguente:

<FilesMatch "\.(ico|pdf|jpg|jpeg|png|gif|html|htm|xml|txt|xsl)$"> 
Header set Cache-Control "max-age=31536050" 
</FilesMatch> 
+1

Questo ha funzionato per me e Google Pagespeed lo ha riconosciuto come un buon fattore! – gleenk

+0

ha funzionato anche per me, grazie. quanto dura questa max-età? – Marko

+0

@Marko È un anno, in secondi. –

0

Per quanto riguarda Matthew Johnson "s risposta di cui sopra, così com'è non ha funzionato per me sul mio sito Laravel5.2 Ma ho aggiunto 'php' alla lista e ha funzionato! Grazie! Matthew Johnson

<FilesMatch "\.(ico|pdf|jpg|jpeg|png|gif|html|htm|xml|php|txt|xsl)$"> 
Header set Cache-Control "max-age=31536050" 
</FilesMatch> 
6

sopra risposta sta lavorando per me, ma, voglio anche aggiungere altra estensione di file in .htaccess. di seguito il codice mi dia una buona soluzione.

completa .htaccess codice per passare su Google PageSpeed ​​Insight:

  1. abilitare la compressione
  2. del browser Sfrutta il caching
# Enable Compression 
<IfModule mod_deflate.c> 
    AddOutputFilterByType DEFLATE application/javascript 
    AddOutputFilterByType DEFLATE application/rss+xml 
    AddOutputFilterByType DEFLATE application/vnd.ms-fontobject 
    AddOutputFilterByType DEFLATE application/x-font 
    AddOutputFilterByType DEFLATE application/x-font-opentype 
    AddOutputFilterByType DEFLATE application/x-font-otf 
    AddOutputFilterByType DEFLATE application/x-font-truetype 
    AddOutputFilterByType DEFLATE application/x-font-ttf 
    AddOutputFilterByType DEFLATE application/x-javascript 
    AddOutputFilterByType DEFLATE application/xhtml+xml 
    AddOutputFilterByType DEFLATE application/xml 
    AddOutputFilterByType DEFLATE font/opentype 
    AddOutputFilterByType DEFLATE font/otf 
    AddOutputFilterByType DEFLATE font/ttf 
    AddOutputFilterByType DEFLATE image/svg+xml 
    AddOutputFilterByType DEFLATE image/x-icon 
    AddOutputFilterByType DEFLATE text/css 
    AddOutputFilterByType DEFLATE text/html 
    AddOutputFilterByType DEFLATE text/javascript 
    AddOutputFilterByType DEFLATE text/plain 
</IfModule> 
<IfModule mod_gzip.c> 
    mod_gzip_on Yes 
    mod_gzip_dechunk Yes 
    mod_gzip_item_include file .(html?|txt|css|js|php|pl)$ 
    mod_gzip_item_include handler ^cgi-script$ 
    mod_gzip_item_include mime ^text/.* 
    mod_gzip_item_include mime ^application/x-javascript.* 
    mod_gzip_item_exclude mime ^image/.* 
    mod_gzip_item_exclude rspheader ^Content-Encoding:.*gzip.* 
</IfModule> 

# Leverage Browser Caching 
<IfModule mod_expires.c> 
    ExpiresActive On 
    ExpiresByType image/jpg "access 1 year" 
    ExpiresByType image/jpeg "access 1 year" 
    ExpiresByType image/gif "access 1 year" 
    ExpiresByType image/png "access 1 year" 
    ExpiresByType text/css "access 1 month" 
    ExpiresByType text/html "access 1 month" 
    ExpiresByType application/pdf "access 1 month" 
    ExpiresByType text/x-javascript "access 1 month" 
    ExpiresByType application/x-shockwave-flash "access 1 month" 
    ExpiresByType image/x-icon "access 1 year" 
    ExpiresDefault "access 1 month" 
</IfModule> 
<IfModule mod_headers.c> 
    <filesmatch "\.(ico|flv|jpg|jpeg|png|gif|css|swf)$"> 
    Header set Cache-Control "max-age=2678400, public" 
    </filesmatch> 
    <filesmatch "\.(html|htm)$"> 
    Header set Cache-Control "max-age=7200, private, must-revalidate" 
    </filesmatch> 
    <filesmatch "\.(pdf)$"> 
    Header set Cache-Control "max-age=86400, public" 
    </filesmatch> 
    <filesmatch "\.(js)$"> 
    Header set Cache-Control "max-age=2678400, private" 
    </filesmatch> 
</IfModule> 

C'è anche alcune configurazioni di vari server web vedono here.
Spero che questo aiuti a ottenere il punteggio 100/100.

Problemi correlati