Comment indiquer un en-tête "Vary: Accept-Encoding" dans .htaccess ?

Pour accélérer l'affichage des pages web, et que la compression gzip fonctionne sur tous vos fichiers, voici comment ajouter l'en-tête "Vary: Accept-Encoding" dans ceux-ci à l'aide du fichier ".htaccess".

La compression gzip est une technique qui permet de réduire la taille des fichiers web téléchargés lors de l'affichage d'une page internet. Grâce à ce procédé, l'affichage d'une page web est plus rapide sur le navigateur, ce qui rend la navigation sur votre site plus agréable pour l'internaute, et consomme moins de bande passante. Pour que la compression gzip fonctionne sur tous vos fichiers, vous devez ajouter l'en-tête "Vary: Accept-Encoding" dans ceux-ci à l'aide du fichier ".htaccess".

La première étape pour ajouter l'en-tête consiste à activer le module "mod_deflate" dans la configuration du serveur apache2. C'est ce mode qui va compresser les fichiers. Ensuite, vous devez paramétrer ce mode. Dans le fichier ".htaccess", collez le code suivant pour configurer la compression :

<IfModule mod_deflate.c>
    #Cette ligne active la compression pour les fichiers JavaScript et CSS.
    AddOutputFilter DEFLATE js css

    #Cette ligne active la compression pour d'autres types de fichiers, ceux dont le type figure dans la ligne (ici, html et xml).
    AddOutputFilterByType DEFLATE text/html text/plain text/xml application/xml

    #Les lignes ci-dessous permettent de gérer les problèmes pouvant intervenir avec certains navigateurs.
    BrowserMatch ^Mozilla/4 gzip-only-text/html
    BrowserMatch ^Mozilla/4.0[678] no-gzip
    BrowserMatch bMSIE !no-gzip !gzip-only-text/html
</IfModule>

Il ne reste plus qu'à ajouter les lignes suivantes pour que l'en-tête "Vary: Accept-Encoding" soit ajouté dans tous les fichiers :

<IfModule mod_headers.c>
  <FilesMatch ".(js|css|xml|gz)$">
    Header append Vary: Accept-Encoding
  </FilesMatch>
</IfModule>

En plus de signaler aux logiciels affichant la page internet qu'il existe une version compressée, l'en-tête "Vary Accept-Encoding" indique aux serveurs proxy situés entre le navigateur de l'internaute et votre serveur de stocker deux versions des pages : une version générée normalement et une version compressée. La version compressée sera affichée si le logiciel utilisé par l'internaute est capable de les décompresser (c'est le cas pour les navigateurs récents). Sinon, la version non compressée est utilisée.
Sur .htaccess, lire aussi ces fiches pratiques

Tutoriels SEO