Servir des fichiers CSS/JS pré-compressés

À partir de WP Rocket 3.6, lorsque des optimisations de fichiers sont activées, telles que Minifier/Combiner CSS et JS, WP Rocket crée 2 versions de chaque fichier. Un fichier CSS/JS standard et une version pré-compressée. La version pré-compressée sera servie avec les règles de htaccess.

  • Un fichier CSS/JS standard, avec son extension .css ou .js
  • une version pré-compressée en GZIP, avec l'extension .gz

Notez que si un fichier n'est pas traité par WP Rocket, par exemple s'il a min dans le nom du fichier, ou s'il a été exclu, nous ne créerons pas de version pré-compressée.

Par défaut, WP Rocket ajoute des règles dans le fichier htaccess pour compresser les fichiers standards de manière dynamique.

Mais les fichiers pré-compressés ne seront pas servis automatiquement en raison de la possibilité de conflits serveurs. Si vous voulez profiter de ces fichiers, vous devrez ajouter les règles adéquates à votre configuration de serveur.

Apache / Litespeed

⚠️  Incompatible avec les serveurs Litespeed

        N'utilisez PAS les règles suivantes si votre serveur utilise Litespeed.

Si vous utilisez Apache, vous pouvez ajouter les règles adéquates à votre fichier htaccess en installant le plugin d'aide suivant :

📥   Télécharger (.zip):  WP Rocket | Add compressed assets htaccess rules
Développeurs : Vous trouverez le code de ce plugin sur GitHub.

Ce plugin d'aide ajoute les règles suivantes à votre fichier htaccess. Nous vous recommandons vivement de l'utiliser pour les ajouter au lieu de modifier manuellement votre fichier htaccess.

<IfModule mod_headers.c>
    RewriteCond %{HTTP:Accept-Encoding} gzip
    RewriteCond %{REQUEST_FILENAME}\.gz -f
    RewriteRule \.(css|js)$ %{REQUEST_URI}.gz [L]
    # Prevent mod_deflate double gzip
    RewriteRule \.gz$ - [E=no-gzip:1]
    <FilesMatch "\.gz$">
        # Serve correct content types
        <IfModule mod_mime.c>
            # (1)
            RemoveType gz
            # Serve correct content types
            AddType text/css              css.gz
            AddType text/javascript       js.gz
            # Serve correct content charset
            AddCharset utf-8 .css.gz \
                             .js.gz
        </IfModule>
        # Force proxies to cache gzipped and non-gzipped files separately
        Header append Vary Accept-Encoding
    </FilesMatch>
    # Serve correct encoding type
    AddEncoding gzip .gz
</IfModule>

NGINX

Si vous utilisez NGINX, le code suivant devrait s'en charger automatiquement :

location / {
    gzip_static on;
}

Dans ce cas, pour servir une requête pour /path/to/file, NGINX essaiera de trouver et d'envoyer le fichier /path/to/file.gz. Si le fichier n'existe pas, ou si le client ne supporte pas GZIP, NGINX enverra alors la version non compressée du fichier.

Cela a-t-il répondu à votre question ? Merci pour votre retour :) Une erreur est survenue lors de l’envoi de votre retour. Veuillez réessayer plus tard.