1
resposta

[Dúvida] Laravel 404 not found

Boa tarde ! Peguei um projeto de desenvolvimento em andamento em Laravel, não domino muito. Estou tentando acessar mas apenas retornar 404 not found. (o projeto foi deixado de outro programador e sem documentação) As informações que eu possuo são. Clone do codigo: git clone git@bitbucket.org:yacproducao/fonocount-tailwild.git

Para fazer funcionar o codigo, no caso do clone precisa copiar o .env.example e alterar o nome da copia para .env, (no caso do zip só alterar) e alterar os seguintes comandos: APP_DOMAIN -> link do site entre aspas sem http ou https, ex: fonocount.com.br APP_NAME -> nome do site entre aspas, ex: Fonocount DB_DATABASE -> esse é o nome do banco de dados DB_USERNAME -> nome do usuario de banco de dados DB_PASSWORD -> senha do usuario de banco de dados

Para fazer funcionar o codigo git precisa rodar os seguintes comandos após o clone: composer install npm install php artisan migrate --seed php artisan link:storage php artisan key:generate.

Fiz todos os procedimento e quando tento acesso ao código simplesmente dá como 404 notfound

web app está desta maneira:

<?php

   use Illuminate\Support\Facades\Route;

   Route::group(['domain' => env('APP_DOMAIN')], function () {
       Route::get('login', 'Auth\LoginController@showLoginForm')->name('login');
       Route::get('cadastro', 'Auth\RegisterController@create')->name('cadastro');
       Route::post('login', 'Auth\LoginController@login')->name('login_entrar');
       Route::post('cadastro', 'Auth\RegisterController@store')->name("cadastrar");
       Route::post('logout', 'Auth\LoginController@logout')->name('logout');
   });
1 resposta

Olá Eduardo, tudo bem?

Realmente é bem frustrante de lidar com um projeto sem documentação. Primeiramente é importante informar que não tenho acesso ao Workspace desse projeto, mas direi algumas sugestões para tentar resolver esse problema de 404 not found juntos.

Aqui estão alguns pontos que você pode verificar:

  1. Configuração do .env:

    • Certifique-se de que o domínio configurado em APP_DOMAIN no arquivo .env está correto e corresponde ao domínio que você está tentando acessar no navegador. Por exemplo:
      APP_DOMAIN=fonocount.com.br
      
  2. Configuração do Virtual Host:

    • Se você estiver usando um servidor local como o Apache ou Nginx, verifique se o virtual host está configurado corretamente para apontar para o diretório public do seu projeto Laravel.
    • Para o Apache, o arquivo de configuração pode parecer algo assim:
      <VirtualHost *:80>
          ServerName fonocount.com.br
          DocumentRoot "/caminho/para/seu/projeto/public"
          <Directory "/caminho/para/seu/projeto/public">
              AllowOverride All
              Require all granted
          </Directory>
      </VirtualHost>
      
  3. Permissões de Arquivos e Pastas:

    • Verifique se as permissões das pastas e arquivos estão corretas. As pastas storage e bootstrap/cache precisam ser graváveis pelo servidor web:
      sudo chmod -R 775 storage
      sudo chmod -R 775 bootstrap/cache
      
  4. Arquivo .htaccess:

    • Certifique-se de que o arquivo .htaccess está presente no diretório public e contém as regras de reescrita corretas. O conteúdo deve ser algo assim:
      <IfModule mod_rewrite.c>
          <IfModule mod_negotiation.c>
              Options -MultiViews -Indexes
          </IfModule>
      
          RewriteEngine On
      
          # Redirect Trailing Slashes If Not A Folder...
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteRule ^(.*)/$ /$1 [L,R=301]
      
          # Handle Front Controller...
          RewriteCond %{REQUEST_FILENAME} !-d
          RewriteCond %{REQUEST_FILENAME} !-f
          RewriteRule ^ index.php [L]
      </IfModule>
      
  5. Logs:

    • Verifique os logs do Laravel em storage/logs/laravel.log para ver se há alguma mensagem de erro que possa ajudar a identificar o problema.

Espero que essas dicas ajudem a resolver o problema.

Bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.