# Block hidden files like .env, .git, etc.
<FilesMatch "^\.">
  Require all denied
</FilesMatch>

<IfModule mod_rewrite.c>
  RewriteEngine On

  # Do not rewrite if already going to /public
  RewriteRule ^public/ - [L]

  # Serve existing files/folders from /public
  RewriteCond %{REQUEST_URI} !^/public/
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
