Opção 1: use .htaccess
Se ainda não estiver lá, crie um arquivo .htaccess no diretório raiz do Laravel. Crie um .htaccessarquivo no diretório raiz do Laravel, se ainda não existir. (Normalmente está na sua public_htmlpasta)
Edite o arquivo .htaccess para que contenha o seguinte código:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^(.*)$ public/$1 [L]
</IfModule>
Agora você deve conseguir acessar o site sem a parte "/public/index.php/".
Opção 2: Mova as coisas do diretório '/ public' para o diretório raiz
Crie uma nova pasta em seu diretório raiz e mova todos os arquivos e pastas, exceto a pasta pública. Você pode chamá-lo do que quiser. Vou usar "laravel_code".
Em seguida, mova tudo do diretório público para a pasta raiz. Deve resultar em algo semelhante a este:

Depois disso, tudo o que precisamos fazer é editar os locais no laravel_code/bootstrap/paths.phparquivo e no index.phparquivo.
Em laravel_code/bootstrap/paths.phpencontrar a seguinte linha de código:
'app' => __DIR__.'/../app',
'public' => __DIR__.'/../public',
E altere-os para:
'app' => __DIR__.'/../app',
'public' => __DIR__.'/../../',
Em index.php, encontre estas linhas:
require __DIR__.'/../bootstrap/autoload.php';
$app = require_once __DIR__.'/../bootstrap/start.php';
E altere-os para:
require __DIR__.'/laravel_code/bootstrap/autoload.php';
$app = require_once __DIR__.'/laravel_code/bootstrap/start.php';
Fonte: Como remover / public / da URL no Laravel
mod_rewriteestá ativado.