Gzip fonctionne pour HTML, mais pas javascript ou css (Apache)

Sur mon site, les fichiers HTML sont compressés.

Cependant, les fichiers javascript, css et svg ne le sont pas.

Le serveur utilise Apache / 2.2.22.

J’utilise le fichier .htaccess de HTML5boilerplate. Voici la section pertinente:

 AddOutputFilterByType DEFLATE "application/atom+xml" \ "application/javascript" \ "application/json" \ "application/ld+json" \ "application/manifest+json" \ "application/rdf+xml" \ "application/rss+xml" \ "application/schema+json" \ "application/vnd.geo+json" \ "application/vnd.ms-fontobject" \ "application/x-font-ttf" \ "application/x-javascript" \ "application/x-web-app-manifest+json" \ "application/xhtml+xml" \ "application/xml" \ "font/eot" \ "font/opentype" \ "image/bmp" \ "image/svg+xml" \ "image/vnd.microsoft.icon" \ "image/x-icon" \ "text/cache-manifest" \ "text/css" \ "text/html" \ "text/javascript" \ "text/plain" \ "text/vcard" \ "text/vnd.rim.location.xloc" \ "text/vtt" \ "text/x-component" \ "text/x-cross-domain-policy" \ "text/xml"  

Pour ce que cela vaut, ce n’est pas lié aux sous-dossiers. Si je mets un fichier nommé “test.html” dans le répertoire principal – il est compressé. Si je le renommer “test.js” – ce n’est pas.

[METTRE À JOUR]

Donc, c’était idiot.

Comme je l’ai mentionné, j’utilisais le fichier .htaccess de html5boilerplate.

Quand j’ai regardé cela de près, j’ai remarqué ces notes:

 # (!) For Apache versions below version 2.3.7 you don't need to # enable `mod_filter` and can remove the `` # and `` lines as `AddOutputFilterByType` is still in # the core directives. 

Cela s’applique à moi, car le serveur utilise Apache / 2.2.22.

Bien sûr, dès que j’ai supprimé et , tout a fonctionné comme il se doit (c.-à-d. Le javascript, le css et les autres types de fichiers inclus dans cette liste).

Je vais laisser cette question au cas où quelqu’un commettrait la même erreur que moi.

On dirait que vous avez manqué quelque chose:

 AddType image/svg+xml .svg AddOutputFilterByType DEFLATE image/svg+xml 

https://stackoverflow.com/a/21533084/1491007

Best, Ralf

Donc, c’était idiot.

Comme je l’ai mentionné, j’utilisais le fichier .htaccess de html5boilerplate.

Quand j’ai regardé cela de près, j’ai remarqué ces notes:

 # (!) For Apache versions below version 2.3.7 you don't need to # enable `mod_filter` and can remove the `` # and `` lines as `AddOutputFilterByType` is still in # the core directives. 

Cela s’applique à moi, car le serveur utilise Apache / 2.2.22.

Bien sûr, dès que j’ai supprimé et , tout a fonctionné comme il se doit (c.-à-d. Le javascript, le css et les autres types de fichiers inclus dans cette liste).

Je vais laisser cette réponse, juste au cas où quelqu’un aurait fait la même erreur que moi.