decome2013 Posted June 11, 2014 Share Posted June 11, 2014 (edited) Salut Je suis en 1.5.2 sans panier ajax et je rencontre le fameux probleme de panier vide...MAIS aucune des solutions du forum ne fonctionne chez moi car la cause du probleme est toute autre. En fait, lorsque j'ajoute un produit au panier cela fonctionne. Par contre, si je retourne sur une page déja visité avant l'ajout au panier, le panier apparaît toujours comme vide. Meme phénomène lorsqu'on se connecte sur le site. L'identification fonctionne parfaitement mais le statut ne se met pas à jour si je retourne sur une page visitée avant la connexion. En clair, je sniffe une erreur de mise en cache des élements dynamiques car techniquement, tout fonctionne, c'est juste l'apparence qui n'est pas rechargée alors que la valeur a changé. Du coup, un F5 règle généralement le souci mais je vois mal mes visiteurs s'accomoder à actualiser chaque page du site... Plutôt que de bidouiller moi-meme le htaccess ou autres configuration de mon serveur, auriez-vous des recommandations pour désactiver la mise en cache de ces éléments dynamiques ? Merci par avance :)m Edited June 25, 2014 by decome2013 (see edit history) Link to comment Share on other sites More sharing options...
JPresta.com Posted June 11, 2014 Share Posted June 11, 2014 As tu une URL pour qu'on regarde les headers HTTP? Link to comment Share on other sites More sharing options...
decome2013 Posted June 11, 2014 Author Share Posted June 11, 2014 (edited) Merci pour la réponse, voici : http://urlz.fr/r7k (je met un lien raccourci car j'ai remarqué que pages du forum s'indexent très vite dans google et je trouve ca moyen de taper le nom d'un site et de tomber sur un forum d'aide à la résolution de probleme ^^, quelqu'un saurait comment éviter ?) Edited June 11, 2014 by decome2013 (see edit history) Link to comment Share on other sites More sharing options...
JPresta.com Posted June 11, 2014 Share Posted June 11, 2014 OK, donc tes pages HTML ont un cache configuré à 2 heures, c'est pour ça. Tu devrais activer le panier en ajax pour corriger ou supprimer ton cache (ce qui serait dommage). Link to comment Share on other sites More sharing options...
decome2013 Posted June 11, 2014 Author Share Posted June 11, 2014 merci pour ta rapidité. N'est-il pas plutot possible de configurer la durée du cache pour les valeurs dynamiques afin de conserver mon panier non-ajax ? Link to comment Share on other sites More sharing options...
JPresta.com Posted June 11, 2014 Share Posted June 11, 2014 Ici il s'agit d'un cache global sur ta page, donc non ce n'est pas possible. Link to comment Share on other sites More sharing options...
decome2013 Posted June 11, 2014 Author Share Posted June 11, 2014 J'ai activé ajax. le probleme du panier n'apparait "presque plus" mais cela n'affecte en rien celui du statut de connexion : je visite page 1 je me rend sur page 2 et je me connecte à mon compte, je retourne sur page 1 et j'apparait non loggué, il faut que j'actualise la page pour apparaître connecté pensant que je n'étais pas seul j'ai fais le tour de plusieurs sites presta en prod sous ma version et en ajax-cart off, le probleme ne se produit pas et j'apparait bien loggué meme en visitant d'autres pages. j'avoue que je sèche totalement la Link to comment Share on other sites More sharing options...
JPresta.com Posted June 11, 2014 Share Posted June 11, 2014 Montre nous ton .htaccess, c'est là qu'est surement configuré le cache. Link to comment Share on other sites More sharing options...
decome2013 Posted June 12, 2014 Author Share Posted June 12, 2014 Hello Voici : <IfModule mod_deflate.c> SetOutputFilter DEFLATE <IfModule mod_setenvif.c> # Netscape 4.x has some problems... BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 have some more problems BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE masquerades as Netscape, but it is fine # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48 # the above regex won't work. You can use the following # workaround to get the desired effect: BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html # Don't compress images SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary </IfModule> <IfModule mod_headers.c> # Make sure proxies don't deliver the wrong content Header append Vary User-Agent env=!dont-vary </IfModule> </IfModule> # ~~start~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again # .htaccess automaticaly generated by PrestaShop e-commerce open-source solution # http://www.prestashop.com - http://www.prestashop.com/forums <IfModule mod_rewrite.c> # Disable Multiviews Options -Multiviews RewriteEngine on RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule . - [E=REWRITEBASE:/] RewriteRule ^api/?(.*)$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L] # Images RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule ^([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule ^([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$1$2$3$4.jpg [L] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule ^([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$1$2$3$4$5.jpg [L] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$1$2$3$4$5$6.jpg [L] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$1$2$3$4$5$6$7.jpg [L] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$1$2$3$4$5$6$7$8.jpg [L] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$1$2$3$4$5$6$7$8$9.jpg [L] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule ^([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])([0-9])(\-[_a-zA-Z0-9-]*)?(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/p/$1/$2/$3/$4/$5/$6/$7/$8/$1$2$3$4$5$6$7$8$9$10.jpg [L] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule ^c/([0-9]+)(\-[\.*_a-zA-Z0-9-]*)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2$3.jpg [L] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^myzone.decome.netdna-cdn.com$ [OR] RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule ^c/([a-zA-Z-]+)(-[0-9]+)?/.+\.jpg$ %{ENV:REWRITEBASE}img/c/$1$2.jpg [L] # Dispatcher RewriteCond %{REQUEST_FILENAME} -s [OR] RewriteCond %{REQUEST_FILENAME} -l [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule ^.*$ - [NC,L] RewriteCond %{HTTP_HOST} ^www.mondomaine.fr$ RewriteRule ^.*$ %{ENV:REWRITEBASE}index.php [NC,L] </IfModule> #If rewrite mod isn't enabled ErrorDocument 404 /index.php?controller=404 # ~~end~~ Do not remove this comment, Prestashop will keep automatically the code outside this comment when .htaccess will be generated again Bien sur, mondomaine remplace mon url merci d'avance Link to comment Share on other sites More sharing options...
JPresta.com Posted June 12, 2014 Share Posted June 12, 2014 Mince alors, c'est pas là... Ça vient peut-être d'un htaccess parent ou de votre hébergeur ou encore d'un module. Je pense qu'il faut supprimer ce cache car s'il n'est pas bien gérer ça n'apportera que des soucis (stocks/disponibilité, ventes flash, changement de langue, de monnaie, etc.). Link to comment Share on other sites More sharing options...
decome2013 Posted June 12, 2014 Author Share Posted June 12, 2014 Mince alors, c'est pas là... Ça vient peut-être d'un htaccess parent ou de votre hébergeur ou encore d'un module. Je pense qu'il faut supprimer ce cache car s'il n'est pas bien gérer ça n'apportera que des soucis (stocks/disponibilité, ventes flash, changement de langue, de monnaie, etc.). Hello Il n'y a pas (plus) de .htaccess parent. Coté module, j'ai très peu de modules achetés et j'ai deja tenté de désactiver tout ceux non inclus dans presta 1.5, sans aucun changement. Par contre en effet, j'ai identifié ce probleme après avoir changé de plan d'hebergement (passé d'un mutu à un VPS). Je ne sais si c'est lié mais je n'avais jamais vu ce probleme avant. Le probleme c'est que mon hebergeur (P.H) n'est jamais très bavard quand il s'agit de m'aider dans la résolution de ce genre de bug, je vais quand meme tenter de voir avec eux. Peu avant, j'ai également opté pour un cache externe (que tu vois dans le htaccess sous le nom "myzone.decome.netdna-cdn.com". J'ai déjà tenté de l'enlever de presta, vider mes caches de chrome et tester le site mais aucun changement. Link to comment Share on other sites More sharing options...
decome2013 Posted June 23, 2014 Author Share Posted June 23, 2014 J'ai avancé en reculant... Sur mon VPS : WHM => Apache configuration => Include Editor => Pre VirtualHost Include => si je le vide et sauvegarde, je n'ai plus de probleme de cache. Le site est rapide et affiche bien les valeurs dynamiques. probleme, cela a eu u nautre impact : impossible d'importer des images (produits catégories etc.) peut-etre d'autres problemes mais pas encore détecté. Si je remet le contenu du fichier à sa place, j'importe des images mais je retrouve mon probleme de cache. Voici le contenu du fichier Pre VirtualHost Include : ##### BEGIN Expire headers <IfModule mod_expires.c> ExpiresActive On ExpiresDefault "access plus 7200 seconds" ExpiresByType image/jpg "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" AddType image/x-icon .ico ExpiresByType image/ico "access plus 2592000 seconds" ExpiresByType image/icon "access plus 2592000 seconds" ExpiresByType image/x-icon "access plus 2592000 seconds" ExpiresByType text/css "access plus 2592000 seconds" ExpiresByType text/javascript "access plus 2592000 seconds" ExpiresByType application/javascript A259200 ExpiresByType application/x-javascript "access plus 2592000 seconds" ExpiresByType application/x-shockwave-flash "access plus 2592000 seconds" </IfModule> ##### END Expire headers ##### BEGIN Cache-Control Headers <IfModule mod_headers.c> <FilesMatch "\\.(ico|jpe?g|png|gif|swf|gz|ttf|ico|woff)$"> Header set Cache-Control "max-age=2592000, public" </FilesMatch> <FilesMatch "\\.(css)$"> Header set Cache-Control "max-age=2592000, public" </FilesMatch> <FilesMatch "\\.(js)$"> Header set Cache-Control "max-age=2592000, private" </FilesMatch> <filesMatch "\\.(html|htm)$"> Header set Cache-Control "max-age=7200, public" </filesMatch> # Disable caching for scripts and other dynamic files <FilesMatch "\.(pl|php|cgi|spl|scgi|fcgi)$"> Header unset Cache-Control </FilesMatch> </IfModule> ##### END Cache-Control Headers ##### BEGIN FCGI Vincent C. <IfModule mod_fcgid.c> FcgidProcessLifeTime 820000000 FcgidIOTimeout 82000000 FcgidConnectTimeout 10000000000 FcgidMaxRequestLen 10000000000000000 FcgidBusyTimeout 360000 FcgidBusyScanInterval 50000 </IfModule> <Location /> <IfModule mod_deflate.c> SetOutputFilter DEFLATE <IfModule mod_setenvif.c> # Netscape 4.x has some problems… BrowserMatch ^Mozilla/4 gzip-only-text/html # Netscape 4.06-4.08 have some more problems BrowserMatch ^Mozilla/4\.0[678] no-gzip # MSIE masquerades as Netscape, but it is fine # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48 # the above regex won’t work. You can use the following # workaround to get the desired effect: BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html # Don’t compress images SetEnvIfNoCase Request_URI .(?:gif|jpe?g|jpg|png|flv|swf|xml|mp3)$ no-gzip dont-vary </IfModule> <IfModule mod_headers.c> # Make sure proxies don’t deliver the wrong content Header append Vary User-Agent env=!dont-vary </IfModule> </IfModule> </Location> Une idée de ce qui bloque ? Link to comment Share on other sites More sharing options...
JPresta.com Posted June 23, 2014 Share Posted June 23, 2014 Supprime ça (cache 2 heures pour les URLs qui se terminent par html ou htm) <filesMatch "\\.(html|htm)$"> Header set Cache-Control "max-age=7200, public" </filesMatch> Link to comment Share on other sites More sharing options...
decome2013 Posted June 23, 2014 Author Share Posted June 23, 2014 Hello Link to comment Share on other sites More sharing options...
decome2013 Posted June 24, 2014 Author Share Posted June 24, 2014 Bon, en me bansant sur tes réponses j'testé et retesté en supprimant/remettant les lignes ayant un rapport avec 7200sec. En supprimant ExpiresDefault "access plus 7200 seconds" cela a l'air de fonctionner pour le moment ^^ merci à toi pour les différentes pistes et le temps consacré 1 Link to comment Share on other sites More sharing options...
decome2013 Posted June 25, 2014 Author Share Posted June 25, 2014 Bon....Le probleme initial est réglé mais je ne peux pas laisser comme ca... Chargement de la page sans ExpiresDefault "access plus 7200 seconds" : 8 à 9 secondes Chargement de la page avec : 4 à 5 secondes Apparement, de nombreux éléments ne sont plus mis en cache. Aux vues des tests effectués au dessus- quelqu'un aurait une idée pour conserver une certaine rapidité de chargement tout en empêchant la mise en cache de ce qui est présent dans le header ? Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now