4 melhores maneiras de remover o público do URL.
Se você usou outro truque para remover o público da URL, altere o nome de server.php para index.php e altere o caminho do arquivo principal. Claramente, não faça isso. Então, por que o Laravel não está dando a solução dessa maneira, porque não é uma maneira adequada de fazer isso?
1) Remova o público do URL usando o htaccess no Laravel
Ao adicionar um arquivo .htaccess à raiz, você pode acessar o site sem necessidade de
<ifmodule mod_rewrite.c>
<ifmodule mod_negotiation.c>
Options -MultiViews
</ifmodule>
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} -d [OR]
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^ ^$1 [N]
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ server.php
</ifmodule>
2) Remova o público criando um host virtual em seu local
Estou dando uma demonstração aqui para o sistema operacional Windows. Mas tentarei definir um passo para que qualquer um possa segui-lo facilmente. Você também pode pesquisar no google o mesmo para o sistema operacional específico.
Etapa 1: Vá para C: \ Windows \ system32 \ drivers \ etc \ abra o arquivo "hosts" no modo Administrador.
Etapa 2: adicione o seguinte código a ele. Aqui, estou fornecendo uma demonstração do nome do domínio project.local, você pode especificar o que quiser. Apenas faça constante em todos os lugares.
127.0.0.1 projectname.local
Etapa 3: Agora vá para, C:\xampp\apache\conf\extra
para usuários do xampp e para o usuário do wamp "C:\wamp\bin\apache\Apache2.4.4\conf\extra"
e abra o "httpd-vhosts.conf"
arquivo. Agora adicione o seguinte código nele.
Notas: Altere a raiz do documento conforme seu projeto e adicione o nome de domínio conforme definido no arquivo "hosts".
<VirtualHost projectname.local>
ServerAdmin projectname.local
DocumentRoot "C:/xampp/htdocs/projectdir"
ServerName projectname.local
ErrorLog "logs/projectname.local.log"
CustomLog "logs/projectname.local.log" common
</VirtualHost>
Etapa 4: Por último, mas a etapa importante é reiniciar o seu Xampp ou Wamp e acessar o URL como se fosse o http://projectname.local
seu Laravel responderá sem URL público.
3) Remova o público executando o comando no Laravel
Se você trabalha no local, não precisa fazer nada, basta executar o seguinte comando no terminal ou na ferramenta de linha de comando. Depois disso, você pode acessar o site pela URL fornecida pela linha de comando.
> php artisan serve
Se você estiver disposto a executar seu projeto em um IP específico, precisará executar o seguinte comando. Se você estiver trabalhando na LAN, se quiser permitir que outras pessoas acessem seu site localmente, basta verificar seu endereço IP usando a linha de comando executando "ipconfig" depois de obter seu endereço IP seguindo o comando.
> php artisan serve --host=192.168.0.177
Se você estiver disposto a executar seu projeto em um IP específico com uma porta específica, precisará do seguinte comando.
> php artisan serve --host=192.168.0.177 --port=77
4) Remova o público no servidor hospedado ou no cpanel
Após a conclusão do projeto, você precisa hospedá-lo no servidor, basta definir a raiz do documento no seu domínio para a pasta pública. Verifique a captura de tela abaixo.
Conforme a captura de tela, se você não tiver nenhuma pasta de projeto no public_html, basta definir a raiz do seu documento "public_html/public"
.
Referência retirada daqui