<FilesMatch "^\.">
Order allow,deny
Deny from all
</FilesMatch>

<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>

RewriteEngine On

# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)/$ /$1 [L,R=301]

# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]

# Make inaccessible the .git 
RedirectMatch 404 /\.git

# Prevent Direct Access To Protected Folders
RewriteRule ^(app|bootstrap|config|database|packages|routes|storage|tests)/(.*)$ 404 [L]

# Allow access to specific asset types within modules and vendor directories
RewriteRule ^(Modules|resources|vendor)/.*\.(png|jpe?g|gif|svg|ico|css|js|woff2?|ttf|eot|otf|mp4|webm|ogg|mp3|wav|pdf|json)$ - [L,NC]

# Restrict access to the modules and vendor directories
RewriteRule ^(Modules|resources|vendor)($|\/) - [F,L]

</IfModule>
