THELIA Forum

Welcome to the THELIA support and discusssion forum

Announcement

Rejoignez la communauté sur le Discord Thelia : https://discord.gg/YgwpYEE3y3

Offline

#1 Optimisation et compression

(26-11-2013 17:15:28)


Bonjour à tous,

J'ai un "petit" souci concernant l'optimisation d'une boutique Thelia par le biais de la compression. (hébergé en mutu chez 1&1)

J'ai mis dans mon .htaccess à la racine :

# MOD_DEFLATE COMPRESSION
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css text/plain text/xml application/x-javascript application/x-httpd-php
#Pour les navigateurs incompatibles
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
#ne pas mettre en cache si ces fichiers le sont déjà
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
#les proxies doivent donner le bon contenu
Header append Vary User-Agent env=!dont-vary

# 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 text/html "access plus 7200 seconds"
 ExpiresByType application/xhtml+xml "access plus 7200 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)$">
 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

# KILL THEM ETAGS
Header unset ETag
FileETag none

Mais quand je fais un test ici : http://www.gidnetwork.com/tools/gzip-test.php j'ai toujours

Web page compressed?     No

À quoi cela est dû? Configuration serveur?

Merci d'avance wink


Aide les autres, ils t'aideront en retour.

Offline


Et tu as bien
<meta http-equiv="accept-encoding" content="gzip,deflate">
dans tes pages .html?


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline


Non. Mais même avec ça ne semble pas fonctionner.
Je ne pense pas que ce soit utile de mettre cette balise. (thelia.net ne l'a pas et ça fonctionne - puis c'est pas valide W3C big_smile )

Une autre idée? big_smile


Aide les autres, ils t'aideront en retour.

Offline


#Pour les navigateurs incompatibles
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
#ne pas mettre en cache si ces fichiers le sont déjà
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
#les proxies doivent donner le bon contenu
Header append Vary User-Agent env=!dont-vary

1) "BrowserMatch ...": Il me semble que IE (qui se cache derrière Mozilla/4.0) supporte bien deflate depuis IE7 (ou IE6 patché), et plus personne n'utilise Netscape smile

2) "SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip" : Vu que tu définis les types de document à compresser, inutile d'exclure ceux que tu n'a pas indiqué (les images).

3) "Header append Vary User-Agent env=!dont-vary" : tu vas servir le même contenu à tout le monde, cette ligne est désormais inutile.

Donc enlèves tout ça, et vérifie que ça marche bien.


OpenStudio Toulouse

Offline


J'ai donc enlevé

#Pour les navigateurs incompatibles
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
#ne pas mettre en cache si ces fichiers le sont déjà
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip
#les proxies doivent donner le bon contenu
Header append Vary User-Agent env=!dont-vary

Mais rien de mieux ^^'


Aide les autres, ils t'aideront en retour.

Offline


Elyos wrote:

puis c'est pas valide W3C big_smile

n'arrive pas à savoir si ironique ou non car je l'ai souvent dit tongue

Bon dans le doute je confirme pour ceux qui voudrez l'utiliser qu'il n'y a pas de souci W3C
D'ailleurs moi je n'ai que ça dans mes pages et rien dans le .htaccess cool


le-bouquiniste.com                                                      tongue  plugin 1.4.x / 1.5   => valeurstock / Mailpaiement / formcontact

Offline


reg wrote:
Elyos wrote:

puis c'est pas valide W3C big_smile

n'arrive pas à savoir si ironique ou non car je l'ai souvent dit tongue

Bon dans le doute je confirme pour ceux qui voudrez l'utiliser qu'il n'y a pas de souci W3C
D'ailleurs moi je n'ai que ça dans mes pages et rien dans le .htaccess cool

En HTML5, j'ai bien l'erreur :

Bad value accept-encoding for attribute http-equiv on element meta.

Sinon en cherchant sur google je suis tombé sur ce post : http://thelia.net/forum/viewtopic.php?id=9260

Et donc, je confirme qu'en ajoutant

zlib.output_compression = true

dans un php.ini à la racine du site, ça fonctionne wink

Merci smile


Aide les autres, ils t'aideront en retour.

Offline


NB : Marche pas pour les js et les css


Aide les autres, ils t'aideront en retour.