2016-04-25 21 views
6

Desidero aggiungere il caching del browser alla mia applicazione Laravel.Come aggiungere la cache del browser in Laravel 5?

ho usato Elixir strumento di controllo delle versioni in questo modo: https://laravel.com/docs/5.2/elixir#versioning-and-cache-busting

Tuttavia, secondo Google Page Speed ​​Insights, i file non è ancora il caching e ho invece ottenuto questo messaggio:

Impostazione di una data di scadenza o un'età massima nelle intestazioni HTTP per statiche risorse indica al browser di caricare precedentemente scaricate risorse dal disco locale piuttosto che attraverso la rete.

Penso che questo potrebbe essere dovuto alla necessità di aggiungere manualmente le intestazioni della cache?

+2

È possibile utilizzare il server web per impostare la data di scadenza sulla intestazione. Penso che sia più facile – geckob

risposta

6

Sì, è necessario impostare Cache-Control e Expires nell'intestazione HTTP per le risorse statiche, in modo che questo messaggio di Google PageSpeed ​​non venga visualizzato.

Dal momento che si sta già utilizzando lo strumento delle versioni Elixir, si può tranquillamente impostare scadenza dei file/CSS JS a 1 settimana.

Il modo per farlo dipende da quello del server web che si sta utilizzando.

Se si utilizza Apache, puoi mettere il seguente codice nel .htaccess o il file di configurazione del tuo sito web virtuale.

<FilesMatch "\.(js|css)$"> 
    ExpiresActive On 
    ExpiresDefault "access plus 1 weeks" 
</FilesMatch> 

Assicurarsi di abilitare il modulo Apache mod_expires!

Con la stessa sintassi, è possibile impostare le regole di cache per .html, .jpg, .png file e così via, per accelerare il caricamento della pagina.

Se si sta utilizzando nginx, ci sono modi simili per risolvere questo problema, si può seguire this tutorial

+0

Voglio solo aggiungere un link ad Apache config tutarial anche se la risposta è abbastanza prolisso. http://linuxpitstop.com/configure-apache-mod_expires-on-file-extensions/ –