DirectoryIndex index.php

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(?:app|config|database|docs|storage|vendor)(?:/|$) - [F,L,NC]
RewriteRule ^(?:\.env(?:\..*)?|composer\.(?:json|lock)|README(?:\.md)?|\.gitignore)$ - [F,L,NC]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^ index.php [QSA,L]
</IfModule>

<FilesMatch "^(?:\.env|\.gitignore|composer\.(?:json|lock)|README(?:\.md)?)$">
  <IfModule mod_authz_core.c>Require all denied</IfModule>
  <IfModule !mod_authz_core.c>Deny from all</IfModule>
</FilesMatch>

<IfModule mod_headers.c>
  Header always set X-Content-Type-Options "nosniff"
  Header always set Referrer-Policy "same-origin"
  Header always set X-Frame-Options "SAMEORIGIN"
  Header always set Permissions-Policy "camera=(), microphone=(), geolocation=()"
</IfModule>

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresByType text/css "access plus 7 days"
  ExpiresByType application/javascript "access plus 7 days"
  ExpiresByType image/webp "access plus 1 day"
  ExpiresByType image/png "access plus 1 day"
  ExpiresByType image/jpeg "access plus 1 day"
</IfModule>
