The following can be added to a .htaccess file in your public_html to redirect access to the public folder.
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/public/
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ /public/$1
RewriteRule ^(/)?$ public/index.php [L]
</IfModule>