<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteBase /

    RewriteCond %{REQUEST_FILENAME} -f [OR]
    RewriteCond %{REQUEST_FILENAME} -l
    RewriteRule ^ - [L]

    RewriteCond %{REQUEST_URI} ^/themes/[^/]+/assets/ [OR]
    RewriteCond %{REQUEST_URI} ^/templates/admin/style\.css$ [OR]
    RewriteCond %{REQUEST_URI} ^/templates/install/style\.css$
    RewriteCond %{REQUEST_FILENAME} -f
    RewriteRule ^ - [L]

    RewriteRule ^themes/.*\.php$ - [F,L]
    RewriteRule ^themes/.*\.json$ - [F,L]
    RewriteRule ^templates/.*\.php$ - [F,L]

    RewriteRule ^ index.php [L,QSA]
</IfModule>

<IfModule mod_headers.c>
    Header set X-Frame-Options "SAMEORIGIN"
    Header set X-Content-Type-Options "nosniff"
    Header set X-XSS-Protection "1; mode=block"
    Header set Referrer-Policy "strict-origin-when-cross-origin"
</IfModule>

Options -Indexes

<FilesMatch "^\.">
    Require all denied
</FilesMatch>

<IfModule mod_expires.c>
    ExpiresActive On
    ExpiresByType text/css "access plus 30 days"
    ExpiresByType application/javascript "access plus 30 days"
    ExpiresByType image/jpeg "access plus 30 days"
    ExpiresByType image/png "access plus 30 days"
    ExpiresByType image/gif "access plus 30 days"
    ExpiresByType image/webp "access plus 30 days"
    ExpiresByType image/svg+xml "access plus 30 days"
    ExpiresByType video/mp4 "access plus 7 days"
    ExpiresByType video/webm "access plus 7 days"
</IfModule>

<IfModule mod_php.c>
    php_value upload_max_filesize 512M
    php_value post_max_size 512M
</IfModule>
