## BEGIN EXPIRES CACHING - JCH OPTIMIZE ## ExpiresActive on # Your document html ExpiresByType text/html "access plus 0 seconds" # Data ExpiresByType text/xml "access plus 0 seconds" ExpiresByType application/xml "access plus 0 seconds" ExpiresByType application/json "access plus 0 seconds" # Feed ExpiresByType application/rss+xml "access plus 1 hour" ExpiresByType application/atom+xml "access plus 1 hour" # Favicon (cannot be renamed) ExpiresByType image/x-icon "access plus 1 week" # Media: images, video, audio ExpiresByType image/gif "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/jpg "access plus 1 year" ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/webp "access plus 1 year" ExpiresByType audio/ogg "access plus 1 year" ExpiresByType video/ogg "access plus 1 year" ExpiresByType video/mp4 "access plus 1 year" ExpiresByType video/webm "access plus 1 year" # HTC files (css3pie) ExpiresByType text/x-component "access plus 1 year" # Webfonts ExpiresByType image/svg+xml "access plus 1 year" ExpiresByType font/* "access plus 1 year" ExpiresByType application/x-font-ttf "access plus 1 year" ExpiresByType application/x-font-truetype "access plus 1 year" ExpiresByType application/x-font-opentype "access plus 1 year" ExpiresByType application/font-ttf "access plus 1 year" ExpiresByType application/font-woff "access plus 1 year" ExpiresByType application/font-woff2 "access plus 1 year" ExpiresByType application/vnd.ms-fontobject "access plus 1 year" ExpiresByType application/font-sfnt "access plus 1 year" # CSS and JavaScript ExpiresByType text/css "access plus 1 year" ExpiresByType text/javascript "access plus 1 year" ExpiresByType application/javascript "access plus 1 year" Header set Cache-Control "no-cache, max-age=0, must-revalidate" Header set Cache-Control "public" Header set Vary: Accept-Encoding #Some server not properly recognizing WEBPs Header set Content-Type "image/webp" ExpiresDefault "access plus 1 year" #Or font files Header set Content-Type "font/woff2" ExpiresDefault "access plus 1 year" Header set Content-Type "font/woff" ExpiresDefault "access plus 1 year" AddOutputFilterByType BROTLI_COMPRESS text/html text/xml text/plain AddOutputFilterByType BROTLI_COMPRESS application/rss+xml application/xml application/xhtml+xml AddOutputFilterByType BROTLI_COMPRESS text/css AddOutputFilterByType BROTLI_COMPRESS text/javascript application/javascript application/x-javascript AddOutputFilterByType BROTLI_COMPRESS image/x-icon image/svg+xml AddOutputFilterByType BROTLI_COMPRESS application/rss+xml AddOutputFilterByType BROTLI_COMPRESS application/font application/font-truetype application/font-ttf AddOutputFilterByType BROTLI_COMPRESS application/font-otf application/font-opentype AddOutputFilterByType BROTLI_COMPRESS application/font-woff application/font-woff2 AddOutputFilterByType BROTLI_COMPRESS application/vnd.ms-fontobject AddOutputFilterByType BROTLI_COMPRESS font/ttf font/otf font/opentype font/woff font/woff2 AddOutputFilterByType DEFLATE text/html text/xml text/plain AddOutputFilterByType DEFLATE application/rss+xml application/xml application/xhtml+xml AddOutputFilterByType DEFLATE text/css AddOutputFilterByType DEFLATE text/javascript application/javascript application/x-javascript AddOutputFilterByType DEFLATE image/x-icon image/svg+xml AddOutputFilterByType DEFLATE application/rss+xml AddOutputFilterByType DEFLATE application/font application/font-truetype application/font-ttf AddOutputFilterByType DEFLATE application/font-otf application/font-opentype AddOutputFilterByType DEFLATE application/font-woff application/font-woff2 AddOutputFilterByType DEFLATE application/vnd.ms-fontobject AddOutputFilterByType DEFLATE font/ttf font/otf font/opentype font/woff font/woff2 # Don't compress files with extension .gz or .br RewriteRule "\.(gz|br)$" "-" [E=no-gzip:1,E=no-brotli:1] SetEnvIfNoCase Request_URI \.(gz|br)$ no-gzip no-brotli ## END EXPIRES CACHING - JCH OPTIMIZE ## ## # @package Joomla # @copyright (C) 2005 Open Source Matters, Inc. # @license GNU General Public License version 2 or later; see LICENSE.txt ## ## # READ THIS COMPLETELY IF YOU CHOOSE TO USE THIS FILE! # # The line 'Options +FollowSymLinks' may cause problems with some server configurations. # It is required for the use of Apache mod_rewrite, but it may have already been set by # your server administrator in a way that disallows changing it in this .htaccess file. # If using it causes your site to produce an error, comment it out (add # to the # beginning of the line), reload your site in your browser and test your sef urls. If # they work, then it has been set by your server administrator and you do not need to # set it here. ## ## MISSING CSS OR JAVASCRIPT ERRORS # # If your site looks strange after enabling this file, then your server is probably already # gzipping css and js files and you should comment out the GZIP section of this file. ## ## OPENLITESPEED # # If you are using an OpenLiteSpeed web server then any changes made to this file will # not take effect until you have restarted the web server. ## ## Can be commented out if causes errors, see notes above. Options +FollowSymlinks Options -Indexes ## No directory listings IndexIgnore * ## Suppress mime type detection in browsers for unknown types Header always set X-Content-Type-Options "nosniff" ## Protect against certain cross-origin requests. More information can be found here: ## https://developer.mozilla.org/en-US/docs/Web/HTTP/Cross-Origin_Resource_Policy_(CORP) ## https://web.dev/why-coop-coep/ # # Header always set Cross-Origin-Resource-Policy "same-origin" # Header always set Cross-Origin-Embedder-Policy "require-corp" # ## Disable inline JavaScript when directly opening SVG files or embedding them with the object-tag Header always set Content-Security-Policy "script-src 'none'" ## These directives are only enabled if the Apache mod_rewrite module is enabled RewriteEngine On ## Begin - Rewrite rules to block out some common exploits. # If you experience problems on your site then comment out the operations listed # below by adding a # to the beginning of the line. # This attempts to block the most common type of exploit `attempts` on Joomla! # # Block any script trying to base64_encode data within the URL. RewriteCond %{QUERY_STRING} base64_encode[^(]*\([^)]*\) [OR] # Block any script that includes a