Options -Indexes
DirectoryIndex index.html
RewriteEngine On

RewriteCond %{HTTPS} !=on
RewriteCond %{HTTP_HOST} !^(localhost|127\.0\.0\.1)(:\d+)?$ [NC]
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^ - [L]
RewriteRule ^ index.html [L]

<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 "camera=(self), microphone=(self), geolocation=(self), payment=(self), publickey-credentials-get=(self)"
  Header always set Cross-Origin-Opener-Policy "same-origin-allow-popups"
  Header set Service-Worker-Allowed "/"
</IfModule>

<FilesMatch "^(\.env|composer\.(json|lock)|package\.json)$">
  Require all denied
</FilesMatch>
