
RewriteEngine On

# Do not rewrite requests already inside public
RewriteRule ^public/ - [L]

# Block private application folders
RewriteRule ^(app|database|bin|storage|config|logs)(/|$) - [F,L,NC]

# Block hidden files
RewriteRule ^\. - [F,L]

# Redirect all public requests to public folder
RewriteRule ^$ public/ [L]
RewriteRule ^(.*)$ public/$1 [L]
