"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como hospedar um projeto Laravel em um subdiretório em hospedagem compartilhada sem expor `/public` na URL

Como hospedar um projeto Laravel em um subdiretório em hospedagem compartilhada sem expor `/public` na URL

Publicado em 17/11/2024
Navegar:512

How to Host a Laravel Project in a Subdirectory on Shared Hosting without Exposing `/public` in the URL

Ao hospedar um projeto Laravel em hospedagem compartilhada, um desafio comum é garantir que URLs não exijam o diretório /public. Aqui está um guia passo a passo para hospedar seu aplicativo Laravel em um subdiretório enquanto mantém os URLs limpos.

Passo 1: Faça upload do seu projeto Laravel para o servidor

  1. Faça login em sua conta de hospedagem e acesse seu gerenciador de arquivos.
  2. Navegue até a pasta public_html ou o diretório principal do seu site.
  3. Crie uma nova pasta (subdiretório) para seu projeto Laravel. Neste exemplo, vamos chamá-lo de hookbox-api.
  4. Carregue todo o seu projeto Laravel para a pasta hookbox-api.

Etapa 2: mova index.php para a raiz do subdiretório

  1. Abra a pasta hookbox-api/public.
  2. Copie (ou mova) o arquivo index.php de public para a raiz de hookbox-api.
  3. Abra o arquivo index.php copiado na raiz do hookbox-api e atualize os caminhos dos arquivos da seguinte forma:
   require __DIR__.'/vendor/autoload.php';
   $app = require_once __DIR__.'/bootstrap/app.php';

Isso diz ao Laravel para encontrar os arquivos necessários na raiz do projeto em vez de público.

Etapa 3: mova o arquivo .htaccess para a raiz do subdiretório

  1. Em seguida, mova o arquivo .htaccess da pasta pública para a raiz do hookbox-api.
  2. Substitua o conteúdo deste arquivo .htaccess pelo seguinte:
   RewriteEngine On

   # Force HTTPS
   RewriteCond %{HTTPS} off
   RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

   # Redirect all requests to index.php
   RewriteCond %{REQUEST_FILENAME} !-d
   RewriteCond %{REQUEST_FILENAME} !-f
   RewriteRule ^ index.php [L]

Este código garante que todas as solicitações recebidas sejam direcionadas para index.php na pasta hookbox-api. Também força HTTPS se o seu site tiver SSL ativado.

Etapa 4: limpar o cache do Laravel (opcional, mas recomendado)

Se você tiver acesso SSH, limpar a configuração e as rotas em cache é sempre uma boa prática após qualquer alteração na implantação. Execute estes comandos para garantir que nenhum conflito de configuração em cache permaneça:

php artisan route:cache
php artisan config:cache
php artisan cache:clear

Etapa 5: teste sua configuração

Agora, você deve conseguir acessar seu aplicativo Laravel no navegador sem precisar de /public na URL. Tente acessar uma rota como:

https://www.yourdomain.com/hookbox-api/api/your-route

Se a configuração foi bem-sucedida, ele deverá carregar sem erros.

Conclusão

Ao mover index.php e .htaccess para a raiz do seu subdiretório e atualizar os caminhos dos arquivos, você efetivamente configurou o Laravel para rodar sem expor o diretório /public na URL. Este método é útil ao trabalhar com hospedagem compartilhada, pois mantém uma estrutura de URL mais limpa e profissional.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/msnmongare/how-to-host-a-laravel-project-in-a-subdirectory-on-shared-hosting-without-exposing-public-in-the- url- 50cp?1 Se houver alguma violação, entre em contato com [email protected] para excluí-la
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3