Jump to content
ghjulianu

Autoriser/Forcer la mise en cache des images par le navigateur

Recommended Posts

Bonjour,

je vous contacte concernant un souci d'optimisation sur ma boutique prestashop :

http://www.huiles-essentielles.biz/

J'ai regardé les optimisations recommandées par : https://developers.google.com/speed/pagespeed/insights/?url=www.huiles-essentielles.biz&tab=desktop

Il y a une erreur, que je devrais et souhaiterais corriger :

Exploiter la mise en cache du navigateur
Si vous définissez une date d'expiration ou une durée de validité maximale pour les ressources statiques dans les en-têtes HTTP, vous indiquez au navigateur d'aller chercher les ressources déjà téléchargées sur le disque local plutôt que sur le réseau.
Exploitez la mise en cache du navigateur pour les ressources suivantes pouvant être mises en cache :

    http://www.huiles-essentielles.biz/…le-essentielle-d-eucalyptus-globulus.jpg (délai d'expiration non spécifié)
    http://www.huiles-essentielles.biz/…t/huile-essentielle-d-inule-odorante.jpg (délai d'expiration non spécifié)
    http://www.huiles-essentielles.biz/…huile-essentielle-de-calament-nepita.jpg (délai d'expiration non spécifié)
    http://www.huiles-essentielles.biz/…lt/huile-essentielle-de-fenouil-doux.jpg (délai d'expiration non spécifié)
    http://www.huiles-essentielles.biz/…le-essentielle-d-immortelle-de-corse.jpg (délai d'expiration non spécifié)
    http://www.huiles-essentielles.biz/…t/huile-essentielle-de-laurier-noble.jpg (délai d'expiration non spécifié)
    http://www.huiles-essentielles.biz/…-essentielle-de-pistachier-lentisque.jpg (délai d'expiration non spécifié)
    http://www.huiles-essentielles.biz/…le-de-romarin-officinale-a-verbenone.jpg (délai d'expiration non spécifié)
    http://www.huiles-essentielles.biz/img/logo.jpg (délai d'expiration non spécifié)
    http://www.huiles-essentielles.biz/…b31f5c8625338304f2e342_laurier-small.jpg (délai d'expiration non spécifié)
    http://www.huiles-essentielles.biz/…1257e3852a5d619e2f1_immortelle-small.jpg (délai d'expiration non spécifié)

les solutions a apporter sont les suivantes : https://developers.google.com/speed/docs/insights/LeverageBrowserCaching

 

Ca ne donne rien, malgré ces modifications dans le htaccess :

<IfModule mod_expires.c>
    ExpiresActive On
  ExpiresDefault "access plus 1 month"
    ExpiresByType image/gif "access plus 1 month"
    ExpiresByType image/jpeg "access plus 1 month"
  ExpiresByType image/jpg "access plus 1 month"
    ExpiresByType image/png "access plus 1 month"
    ExpiresByType text/css "access plus 1 week"
    ExpiresByType text/javascript "access plus 1 week"
    ExpiresByType application/javascript "access plus 1 week"
    ExpiresByType application/x-javascript "access plus 1 week"
    ExpiresByType image/x-icon "access plus 1 year"
    ExpiresByType image/svg+xml "access plus 1 year"
    ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
    ExpiresByType application/font-woff "access plus 1 year"
    ExpiresByType application/x-font-woff "access plus 1 year"
    ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
    ExpiresByType font/opentype "access plus 1 year"
    ExpiresByType font/ttf "access plus 1 year"
    ExpiresByType font/otf "access plus 1 year"
    ExpiresByType application/x-font-ttf "access plus 1 year"
    ExpiresByType application/x-font-otf "access plus 1 year"
</IfModule>

<IfModule mod_headers.c>
 
 # Remote ETag from headers
 Header unset ETag
 
 # Disable ETag for files
 FileETag None
 
 # Media files are catchable
 <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|swf)$">
 Header append Cache-Control "public"
 </FilesMatch>
 
 # Images, css and javascript files are catchable
 <FilesMatch "\.(gif|jpg|jpeg|png|js|css)$">
 Header append Cache-Control "public"
 </FilesMatch>
 
</IfModule>

Je ne sais pas si le fait que les images soient dans plusieurs sous dossier puisse etre a l'origine du probleme (ce htaccess est a la racine, je ne sais pas s'il est pris en compte pour les fichiers dans la sous arborescence).

Merci par avance pour vos propositions,

cordialement,

Julien

 

edit : balise code htaccess

 

edit 2 :

meme avec un htaccess simplifié dans les dossiers images générés par prestashop le résultat est le meme.


<IfModule mod_expires.c>
	ExpiresActive On
  ExpiresDefault "access plus 1 month"
	ExpiresByType image/gif "access plus 1 month"
	ExpiresByType image/jpeg "access plus 1 month"
  ExpiresByType image/jpg "access plus 1 month"
	ExpiresByType image/png "access plus 1 month"
	ExpiresByType text/css "access plus 1 week"
	ExpiresByType text/javascript "access plus 1 week"
	ExpiresByType application/javascript "access plus 1 week"
	ExpiresByType application/x-javascript "access plus 1 week"
	ExpiresByType image/x-icon "access plus 1 year"
	ExpiresByType image/svg+xml "access plus 1 year"
	ExpiresByType image/vnd.microsoft.icon "access plus 1 year"
	ExpiresByType application/font-woff "access plus 1 year"
	ExpiresByType application/x-font-woff "access plus 1 year"
	ExpiresByType application/vnd.ms-fontobject "access plus 1 year"
	ExpiresByType font/opentype "access plus 1 year"
	ExpiresByType font/ttf "access plus 1 year"
	ExpiresByType font/otf "access plus 1 year"
	ExpiresByType application/x-font-ttf "access plus 1 year"
	ExpiresByType application/x-font-otf "access plus 1 year"
</IfModule>

<IfModule mod_headers.c>
 
 # Remote ETag from headers
 Header unset ETag
 
 # Disable ETag for files
 FileETag None
 
 # Media files are catchable
 <FilesMatch "\.(flv|ico|pdf|avi|mov|ppt|doc|mp3|wmv|wav|swf)$">
 Header append Cache-Control "public"
 </FilesMatch>
 
 # Images, css and javascript files are catchable
 <FilesMatch "\.(gif|jpg|jpeg|png|js|css)$">
 Header append Cache-Control "public"
 </FilesMatch>
  
</IfModule>

FileETag INode MTime Size

Edited by ghjulianu (see edit history)

Share this post


Link to post
Share on other sites

Bizarre, le "content-type" n'est même pas présent sur tes images, tu n'as que ça:

Connection:Keep-Alive
Date:Thu, 20 Nov 2014 09:08:51 GMT
ETag:"9c7ea-55-508172f37a840"
Keep-Alive:timeout=15, max=95
Server:Apache/2.2.22 (Debian)

Share this post


Link to post
Share on other sites

ah, une idée de la cause ?

Pour la question initiale, je n'ai toujours pas trouvé de solution.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More