Sabemos que os projetos Laravel podem ser iniciados de pelo menos duas maneiras:
O Site pode ser iniciado através do comando php artisan serve
OU
Apontando o gerenciador de sites (nginx, apache, IIS, etc) para a pasta public dentro da raiz do projeto.
Caso você esteja publicando seu projeto em uma hospedagem compartilhada, ou similar, onde você terá acesso apenas à pasta public_html, você deverá realizar o upload de todos os arquivos laravel para essa pasta e efetuar o redirecionamento através do arquivo .htaccess se for suportado pela sua hospedagem.
Em caso afirmativo, utilize o código abaixo para realizar o redirect (exemplo: redirecionar www.exemplo.com que apontaria para a pasta public_html para www.exemplo.com apontando para a pasta public_html/public)
RewriteEngine On
RewriteBase /
RewriteCond %{THE_REQUEST} /public/([^\s?]*) [NC]
RewriteRule ^ %1 [L,NE,R=302]
RewriteRule ^((?!public/).*)$ public/$1 [L,NC]