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

Laravel根路由('/')无法访问但其他路由正常,如何修复?

Laravel根路由无法访问问题解决

问题原因

你把根路由的永久重定向规则放在了auth中间件组内,这意味着只有已登录用户才能触发这个重定向。未登录用户访问/时,auth中间件会拦截请求,但此时根路由本身受中间件保护,无法被正常匹配,最终导致浏览器提示无法访问站点。

解决方案

方案1:将重定向路由移出中间件组

把根路由的重定向规则放到auth中间件组外面,这样无论用户是否登录,访问/都能触发重定向到/home:

Auth::routes();

// 移出auth中间件组
Route::permanentRedirect('/', '/home');

Route::middleware('auth')->group(function () {
    Route::get('/home', [HomeController::class, 'index'])->name('home');
});

方案2:根据登录状态处理根路由

如果希望未登录用户访问/时跳转到登录页,已登录用户跳转到/home,可以用以下逻辑替换重定向规则:

Auth::routes();

Route::get('/', function () {
    return Auth::check() ? redirect()->route('home') : redirect()->route('login');
});

Route::middleware('auth')->group(function () {
    Route::get('/home', [HomeController::class, 'index'])->name('home');
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 04:24:53