Options -MultiViews

RewriteEngine On

RewriteBase /

RewriteCond %{THE_REQUEST} [NC]
RewriteCond %{REQUEST_FILENAME} -f [OR]
RewriteCond %{REQUEST_FILENAME} !-f

RewriteRule ^(.*)$ public/index.php [L,QSA]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]