web-dev-qa-db-fra.com

Apache2 gzip ne fonctionne pas?

J'ai presque tout fait sur Internet pour gzip mon contenu. Ça n'a pas l'air de marcher. J'ai tellement fait que je ne peux pas mettre tout ce que j'ai essayé ici, alors voici certaines des choses que j'ai essayées:

J'ai essayé d'ajouter ceci dans mon .htaccess et j'ai également essayé de l'ajouter dans mon Apache2.conf et de redémarrer Apache.

<IfModule mod_deflate.c>
  # Compress HTML, CSS, JavaScript, Text, XML and fonts
  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
  AddOutputFilterByType DEFLATE text/xml

  # Remove browser bugs (only needed for really old browsers)
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent
</IfModule>

Ils ne travaillent pas tous les deux. Je suis sur un serveur AWS EC2 Ubuntu avec Apache.

1
Edward

J'ai trouvé la réponse ... enfin!

C'était dans ce code qui ressemblait à ceci:

SetEnvIfExpr no-gzip

C'était dans mon fichier Apache2.conf. Une fois que j'ai supprimé ce code, cela a fonctionné!

0
Edward

Apache2 dit:

Une autre directive AddOutputFilterByType est toujours prise en charge, mais obsolète. Utilisez la configuration dynamique à la place.

J'ai d'abord pensé qu'il valait mieux utiliser la directive AddOutputFilter .


Cependant, la solution trouvée dans Comment activer la compression gzip sur Apache montre suffisamment de nouvelles façons de configurer mod_deflate.

Se ressembler:

<IfModule mod_mime.c>
 AddType application/x-javascript .js
 AddType text/css .css
</IfModule>
<IfModule mod_deflate.c>
 SetOutputFilter DEFLATE
  <IfModule mod_setenvif.c>
   SetEnvIfNoCase Request_URI \.(?:rar|Zip)$ no-gzip dont-vary
   SetEnvIfNoCase Request_URI \.(?:gif|jpg|png)$ no-gzip dont-vary
   SetEnvIfNoCase Request_URI \.(?:avi|mov|mp4)$ no-gzip dont-vary
   SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary
  </IfModule>
 <IfModule mod_headers.c>
  Header append Vary User-Agent env=!dont-vary
 </IfModule>
</IfModule>

Lire subj pour un varie.


Exemple de module Apache 1.3 mod_gzip signifie simplement:

  <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>

cherchez plus/trouvé ici

Et mon humble avis est que la partie sur les très vieux navigateurs n’est pas très fiable, que ce soit dans votre .htaccess

0
swift