# Enable RewriteEngine RewriteEngine On RewriteBase / # Do NOT rewrite existing files or directories RewriteCond %{REQUEST_FILENAME} -f [OR] RewriteCond %{REQUEST_FILENAME} -d RewriteRule ^ - [L] # Add trailing slash only to extensionless URLs RewriteCond %{REQUEST_URI} !\.(css|js|png|jpe?g|gif|svg|webp|ico|woff2?|ttf|eot|json|xml|html|php)$ RewriteCond %{REQUEST_URI} !/$ RewriteRule ^(.+)$ $1/ [L,R=301] # Handle 404 errors ErrorDocument 404 /404 # Rewrite pretty URLs to index.php?page= RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)/$ index.php?page=$1 [L,QSA] # Enable GZip compression AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css AddOutputFilterByType DEFLATE application/javascript application/json AddOutputFilterByType DEFLATE application/xml application/xhtml+xml application/rss+xml AddOutputFilterByType DEFLATE application/font-woff application/font-woff2 AddOutputFilterByType DEFLATE image/svg+xml image/webp # Enable browser caching for static assets ExpiresActive On ExpiresByType image/jpeg "access plus 1 year" ExpiresByType image/png "access plus 1 year" ExpiresByType image/webp "access plus 1 year" ExpiresByType image/svg+xml "access plus 1 year" ExpiresByType text/css "access plus 1 month" ExpiresByType application/javascript "access plus 1 month" ExpiresByType image/x-icon "access plus 1 year" ExpiresByType application/font-woff "access plus 1 year" ExpiresByType application/font-woff2 "access plus 1 year" # Security headers Header set X-Content-Type-Options "nosniff" Header set X-Frame-Options "DENY" Header set X-XSS-Protection "1; mode=block" # Prevent directory listing Options -Indexes # BEGIN cPanel-generated php ini directives, do not edit php_value output_buffering Off php_value output_buffering Off # END cPanel-generated php ini directives, do not edit