czernika/brocooly

View on GitHub
.htaccess

Summary

Maintainability
Test Coverage
# ------------------------------------------------------------------------------------------
#   Redirect request to web folder
# ------------------------------------------------------------------------------------------
RewriteEngine on

RewriteCond %{REQUEST_URI} !web/
RewriteRule (.*) /web/$1 [L]

# ------------------------------------------------------------------------------------------
#   ASSETS AND FILES
# ------------------------------------------------------------------------------------------
RewriteBase /

# Brotli
RewriteCond %{HTTP:Accept-encoding} br
RewriteCond %{REQUEST_URI} .*\.(css|js)
RewriteCond %{REQUEST_FILENAME}.br -s
RewriteRule ^(.+) $1.br
RewriteRule "\.css\.br$" "-" [T=text/css,E=no-brotli,E=no-gzip]
RewriteRule "\.js\.br$" "-" [T=application/javascript,E=no-brotli,E=no-gzip]

# Gzip
RewriteCond %{HTTP:Accept-Encoding} gzip
RewriteCond %{REQUEST_URI} .*\.(css|js)
RewriteCond %{REQUEST_FILENAME}.gz -s
RewriteRule ^(.+) $1.gz
RewriteRule "\.css\.gz$" "-" [T=text/css,E=no-brotli,E=no-gzip]
RewriteRule "\.js\.gz$" "-" [T=application/javascript,E=no-brotli,E=no-gzip]

<FilesMatch "\.(css|js)\.br$">
    # Prevent mime module to set brazilian language header (because the file ends with .br)
    RemoveLanguage .br
    Header set Content-Encoding br
    Header append Vary Accept-Encoding
</FilesMatch>

<FilesMatch "\.(css|js)\.gz$">
    Header set Content-Encoding gzip
    Header append Vary Accept-Encoding
</FilesMatch>