Remover /public da URL em projetos Laravel

Este artigo explica como remover o /public da URL em aplicações desenvolvidas com Laravel, utilizando apenas um redirecionamento via .htaccess dentro do container da TurboCloud.

Na estrutura padrão do Laravel, os arquivos públicos ficam dentro da pasta public. Quando o domínio aponta para public_html, o acesso acaba exigindo /public na URL.

O objetivo deste procedimento é permitir que o site seja acessado diretamente em:

https://seudominio.com
sem a necessidade de utilizar /public no final da URL.


Estrutura comum do Laravel no container

Exemplo de estrutura típica:

public_html/
├── app/
├── bootstrap/
├── config/
├── public/
│   ├── index.php
│   ├── .htaccess
│   └── assets
├── vendor/

O diretório public é o único que deve ser exposto ao navegador.


Solução recomendada: redirecionamento via .htaccess

A forma correta e segura de remover o /public da URL é criar (ou editar) um arquivo .htaccess dentro do diretório public_html, fazendo com que todas as requisições sejam redirecionadas automaticamente para a pasta public.


Como configurar o .htaccess

No diretório public_html, crie ou edite o arquivo .htaccess e adicione o seguinte conteúdo:

<IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

Com essa regra ativa, qualquer acesso ao domínio será automaticamente direcionado para a pasta public, sem que o /public apareça na URL.


Importante

Este procedimento:

  • Não altera a estrutura do Laravel;
  • Não move arquivos;
  • Não copia o index.php;
  • Não afeta o funcionamento interno do framework.

Trata-se apenas de um redirecionamento no nível do container.


Erros comuns que devem ser evitados

  • Mover ou duplicar arquivos do Laravel;
  • Editar o index.php sem necessidade;
  • Aplicar regras de rewrite em locais incorretos;
  • Atribuir erros de código do Laravel a falhas do container.

Quando acionar o suporte

Caso o site não carregue corretamente após aplicar o redirecionamento:

  • Verifique se o arquivo .htaccess está sendo lido;
  • Confirme se o módulo mod_rewrite está ativo;
  • Anote qualquer mensagem de erro exibida.

O suporte da TurboCloud pode auxiliar na verificação do container e do funcionamento do rewrite, porém ajustes específicos do framework Laravel são de responsabilidade do desenvolvedor.

Esta resposta lhe foi útil? 128 Usuários acharam útil (454 Votos)