在Laravel框架中,开发服务器启动后默认访问的页面可以通过路由和视图的配合进行自定义配置,不需要修改复杂的框架核心文件,只需要调整路由规则和对应的视图文件即可实现需求。

默认首页的基础配置逻辑
Laravel的默认首页由路由规则决定,当用户访问根路径/时,框架会匹配对应的路由处理逻辑。默认的路由文件存放在routes/web.php中,我们只需要修改这个文件里根路径的路由规则,就能改变默认首页的展示内容。
第一步:创建自定义视图文件
首先需要在resources/views目录下创建自定义的视图文件,比如我们创建一个名为home.blade.php的文件,作为新的默认首页:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>自定义默认首页</title>
</head>
<body>
<h1>欢迎访问自定义默认首页</h1>
<p>这是通过Laravel路由配置后的自定义首页内容</p>
</body>
</html>第二步:修改根路径路由规则
打开routes/web.php文件,找到根路径/的路由定义,默认情况下可能是类似下面的代码:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('welcome');
});我们只需要把view()函数里的参数从welcome改成我们刚才创建的视图文件名home即可:
<?php
use Illuminate\Support\Facades\Route;
Route::get('/', function () {
return view('home');
});修改完成后,重启Laravel开发服务器,再次访问根路径就能看到我们自定义的默认首页了。
带动态数据的默认首页配置
如果默认首页需要展示动态数据,比如从数据库读取的最新文章列表,我们可以在路由闭包中处理数据再传递到视图中:
<?php
use Illuminate\Support\Facades\Route;
use App\Models\Article;
Route::get('/', function () {
// 获取最新的5篇文章
$articles = Article::orderBy('created_at', 'desc')->limit(5)->get();
// 将数据传递到home视图
return view('home', ['articles' => $articles]);
});对应的home.blade.php视图文件中就可以使用传递过来的$articles变量渲染数据:
<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>自定义默认首页</title>
</head>
<body>
<h1>欢迎访问自定义默认首页</h1>
<h2>最新文章列表</h2>
<ul>
@foreach($articles as $article)
<li>{{ $article->title }}</li>
@endforeach
</ul>
</body>
</html>使用控制器处理默认首页逻辑
如果默认首页的业务逻辑比较复杂,不建议直接写在路由闭包中,可以创建对应的控制器来处理:
首先创建控制器,执行命令php artisan make:controller HomeController,然后在控制器中编写方法:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Article;
class HomeController extends Controller
{
public function index()
{
$articles = Article::orderBy('created_at', 'desc')->limit(5)->get();
return view('home', ['articles' => $articles]);
}
}再修改routes/web.php中的根路径路由,指向控制器的对应方法:
<?php
use Illuminate\Support\Facades\Route;
use App\Http\Controllers\HomeController;
Route::get('/', [HomeController::class, 'index']);这种方式的代码结构更清晰,也更符合Laravel的开发规范,适合业务逻辑复杂的默认首页场景。
Laravelrouteviewdefault_page修改时间:2026-06-05 03:43:05