Лучшим решением для этого будет указание корня вашего документа apache на общую папку laravel.Но, как вы сказали, вы используете виртуальный хостинг, тогда может не будет для вас возможным.
Теперь для доступа к приложению laravel без публичного доступа в URL следуйте этому вопросу Laravel 5 - Удалитьpublic from URL
Кроме того, вас беспокоят другие папки, такие как app, config и т. д., которые не будут доступны из браузера.Поэтому для этого вы можете поместить файл .htaccess
с содержимым Deny from all
в каждую папку, доступ к которой вы хотите заблокировать из браузера.