[英]How to solve Laravel's Route 404 error on Login page?
一個項目,用Laravel框架編寫的,已經交給我了。 以前的開發者沒有用過 git,一些 composer 命令和 Laravel 的 .gitignore 文件(也去掉了)。 另一方面,他已經在生產服務器上准備了項目。
反正。 首先,我找到了 laravel 的 gitignore 並將項目推送到我的存儲庫。 然后我想把它拉到我的本地。 除供應商文件夾外的所有文件夾和文件。
然后我執行:
composer install
給了我這個錯誤:
Class 'Maatwebsite\Excel\Excel' not found
然后我通過這里的方法修復它。
然后重試composer install
,給了我這個錯誤:
Undefined index: name
然后通過這里的方法修復它。
然后重試composer install
,成功了。 然后我用php artisan cache:clear
我已經配置.env
文件並嘗試進入主頁。 它將我重定向到登錄頁面並給出 404。我檢查了 .htaccess,有這樣的重定向:
<IfModule mod_rewrite.c>
<IfModule mod_negotiation.c>
Options -MultiViews -Indexes
</IfModule>
RewriteEngine On
RewriteCond %{SERVER_PORT} 443
RewriteRule ^(.*)$ http://example.com/app/$1 [R=301,L]
# Handle Authorization Header
RewriteCond %{HTTP:Authorization} .
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
# Redirect Trailing Slashes If Not A Folder...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_URI} (.+)/$
RewriteRule ^ %1 [L,R=301]
# Handle Front Controller...
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]
</IfModule>
# php -- BEGIN cPanel-generated handler, do not edit
<IfModule mime_module>
AddType application/x-httpd-ea-php73 .php .php7 .phtml
</IfModule>
# php -- END cPanel-generated handler, do not edit
將 example.com 更改為我的本地主機。 但仍然給我404。
有什么我想念的嗎?
注意:打電話給以前的開發者,他說我“直接復制並粘貼所有文件夾”。 嗨,來自 90 年代:(
OP 說這對他有用,所以我將它從評論轉移到答案:
讓我們 go 討論頁面正確返回的內容:首先,您需要一個路由文件夾,其中包含文件中的所有路由。 其次,您需要 Controller 文件夾(在 /app/Http 中找到)。 第三,您需要具有實際視圖的資源文件夾。 第四,您需要帶有 CSS/JS 等的公用文件夾。
由於 OP 聲明除了登錄視圖之外的所有視圖都有效:
首先找出登錄視圖頁面的名稱,然后 go 到您的路線並確保有一行如
Route::get('/login', 'SomeController@somefunction')->name('login.path');
然后 go 到該路由中引用的 controller,並確保 function 返回登錄頁面的視圖
您是否嘗試過使用php artisan key:generate
laravel 應用程序密鑰。
如果這也不起作用,請嘗試臨時刪除.htaccess
。
試試這個命令
作曲家需要 maatwebsite/excel:^3.0
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.