DirectoryIndex index.php

<IfModule mod_autoindex.c>
Options -Indexes
</IfModule>

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(?:app|config|database|storage|tests)(?:/|$) - [F,L,NC]
</IfModule>

<IfModule mod_authz_core.c>
<FilesMatch "(?i)\.(?:env|ini|log|sql|bak|backup|md|sh|lock|json)$">
Require all denied
</FilesMatch>
</IfModule>

<IfModule !mod_authz_core.c>
<FilesMatch "(?i)\.(?:env|ini|log|sql|bak|backup|md|sh|lock|json)$">
Order allow,deny
Deny from all
</FilesMatch>
</IfModule>

<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
Header always set X-Frame-Options "SAMEORIGIN"
Header always set Referrer-Policy "strict-origin-when-cross-origin"
Header always set Permissions-Policy "geolocation=(self), camera=(self), microphone=()"
Header always set Content-Security-Policy "default-src 'self'; img-src 'self' data: blob:; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'; connect-src 'self' https:; object-src 'none'; base-uri 'self'; frame-ancestors 'self'; form-action 'self'"
</IfModule>
