RewriteRule (.*) public/$1 [L]
Du willst bestimmt:
RewriteRule ^(.*)$ public/$1 [L]
Wobei mir aber absolut nicht klar ist, wieso /pfad-zu/public/
nicht einfach in der Serverkonfiguration als DOCUMENT_ROOT gesetzt wird. Etwa weil es dann zu wenig Probleme gibt?