Answers for "serve compressed static assets .htaccess"

0

serve compressed static assets .htaccess

# source: https://drupal.stackexchange.com/questions/215639/how-to-modify-htaccess-to-serve-brotli-compressed-static-assets-over-gziped-one
# Rules to correctly serve gzip compressed CSS and JS files.
# Requires both mod_rewrite and mod_headers to be enabled.
<IfModule mod_headers.c>
  # Serve brotli compressed CSS files if they exist and the client accepts gzip.
  RewriteCond %{HTTP:Accept-encoding} br
  RewriteCond %{REQUEST_FILENAME}.br -s
  RewriteRule ^(.*).css $1.css.br [QSA]

  # Serve gzip compressed CSS files if they exist and the client accepts gzip.
  RewriteCond %{HTTP:Accept-encoding} gzip
  RewriteCond %{REQUEST_FILENAME}.gz -s
  RewriteRule ^(.*).css $1.css.gz [QSA]

  # Serve brotli compressed JS files if they exist and the client accepts gzip.
  RewriteCond %{HTTP:Accept-encoding} br
  RewriteCond %{REQUEST_FILENAME}.br -s
  RewriteRule ^(.*).js $1.js.br [QSA]

  # Serve gzip compressed JS files if they exist and the client accepts gzip.
  RewriteCond %{HTTP:Accept-encoding} gzip
  RewriteCond %{REQUEST_FILENAME}.gz -s
  RewriteRule ^(.*).js $1.js.gz [QSA]

  # Serve correct content types, and prevent mod_deflate double gzip.
  RewriteRule .css.gz$ - [T=text/css,E=no-gzip:1]
  RewriteRule .js.gz$ - [T=text/javascript,E=no-gzip:1]
  RewriteRule .css.br$ - [T=text/css,E=no-gzip:1]
  RewriteRule .js.br$ - [T=text/javascript,E=no-gzip:1]

  <FilesMatch "(.js.gz|.css.gz)$">
    # Serve correct encoding type.
    Header set Content-Encoding gzip
    # Force proxies to cache gzipped & non-gzipped css/js files separately.
    Header append Vary Accept-Encoding
  </FilesMatch>
  <FilesMatch "(.js.br|.css.br)$">
    # Serve correct encoding type.
    Header set Content-Encoding br
    # Force proxies to cache gzipped & non-gzipped css/js files separately.
    Header append Vary Accept-Encoding
  </FilesMatch>
</IfModule>
Posted by: Guest on January-08-2022

Browse Popular Code Answers by Language