You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复Laravel首页出现的404 NOT FOUND错误?

解决Laravel项目首页404 NOT FOUND错误

可能原因及对应解决办法

1. APP_URL未配置

从提供的.env配置来看,APP_URL=为空,这会导致Laravel生成URL、解析路由时出现异常。

  • 解决:在.env中配置对应项目的访问地址,比如本地访问地址为http://localhost/reward-app,则设置:
    APP_URL=http://localhost/reward-app
    
    配置完成后执行缓存清理命令:
    php artisan config:clear
    php artisan cache:clear
    

2. 未定义默认首页路由

检查routes/web.php文件,确认是否存在指向首页的路由配置,比如:

// 返回视图的基础路由
Route::get('/', function () {
    return view('welcome');
});
// 或者指向控制器方法的路由
Route::get('/', [HomeController::class, 'index']);
  • 若没有上述路由,添加对应定义后清理路由缓存:
    php artisan route:clear
    

3. 服务器重写规则异常

Apache环境

  • 确认mod_rewrite模块已启用,开启后重启Apache服务。
  • 检查项目public目录下的.htaccess文件是否存在且配置正确,默认Laravel的.htaccess内容如下:
    <IfModule mod_rewrite.c>
        <IfModule mod_negotiation.c>
            Options -MultiViews -Indexes
        </IfModule>
    
        RewriteEngine On
    
        # 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]
    
        # Send Requests To Front Controller...
        RewriteCond %{REQUEST_FILENAME} !-d
        RewriteCond %{REQUEST_FILENAME} !-f
        RewriteRule ^ index.php [L]
    </IfModule>
    

Nginx环境

  • 检查Nginx配置文件,确保try_files指令正确指向index.php,示例配置:
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    修改配置后重启Nginx服务。

4. 缓存未清理

生产环境下Laravel会缓存配置、路由等内容,修改配置后未清理缓存可能导致异常:

  • 执行以下命令清理所有缓存:
    php artisan config:clear
    php artisan route:clear
    php artisan cache:clear
    php artisan view:clear
    

5. 服务器根目录指向错误

确认服务器的网站根目录是否指向Laravel项目的public文件夹,而非项目根目录。若指向项目根目录,会无法正确加载前端控制器index.php,进而出现404错误。


提供的环境信息

首页404截图

首页404截图

数据库截图

数据库截图

.env配置代码

APP_NAME=Reward-App
APP_ENV=production
APP_KEY=base64:t9Pl+P0jnbnmS2tNpEuh4CT+x+T6xZrKcDhGb1oOCJ4=
APP_DEBUG=false
APP_URL=

LOG_CHANNEL=stack

DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=test3
DB_USERNAME=root
DB_PASSWORD=

BROADCAST_DRIVER=log
CACHE_DRIVER=file
QUEUE_CONNECTION=sync
SESSION_DRIVER=file
SESSION_LIFETIME=120

REDIS_HOST=127.0.0.1
REDIS_PASSWORD=null
REDIS_PORT=6379

MAIL_MAILER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=465
MAIL_USERNAME=
MAIL_PASSWORD=
MAIL_ENCRYPTION=ssl
MAIL_FROM_NAME="${APP_NAME}"

AWS_ACCESS_KEY_ID=
AWS_SECRET_ACCESS_KEY=
AWS_DEFAULT_REGION=us-east-1
AWS_BUCKET=

HEADER_USER=rewardfsJGSA

PUSHER_APP_ID=
PUSHER_APP_KEY=
PUSHER_APP_SECRET=
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

内容的提问来源于stack exchange,提问作者atozcodes

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 15:55:20