Options -Indexes

<FilesMatch "\.(php|php3|php4|php5|php7|php8|phtml|pl|py|jsp|asp|aspx|sh|cgi)$">
    <IfModule mod_authz_core.c>
        Require all denied
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Deny from all
    </IfModule>
</FilesMatch>

<IfModule mod_php.c>
    php_flag engine off
</IfModule>
RemoveHandler .php .php3 .php4 .php5 .php7 .php8 .phtml
RemoveType .php .php3 .php4 .php5 .php7 .php8 .phtml
AddType text/plain .php .php3 .php4 .php5 .php7 .php8 .phtml

<FilesMatch "\.(jpg|jpeg|png|gif|webp|svg|ico|pdf|xml|txt|woff|woff2|ttf|otf)$">
    <IfModule mod_authz_core.c>
        Require all granted
    </IfModule>
    <IfModule !mod_authz_core.c>
        Order allow,deny
        Allow from all
    </IfModule>
</FilesMatch>

<IfModule mod_headers.c>
    <FilesMatch "\.(jpg|jpeg|png|gif|webp|svg|ico|pdf)$">
        Header set Access-Control-Allow-Origin "*"
        Header set Cache-Control "public, max-age=2592000"
    </FilesMatch>
</IfModule>
