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

在Voyager管理面板添加自定义菜单页出现404错误求助

解决Laravel Voyager自定义菜单404的问题

兄弟,我之前也碰到过几乎一模一样的情况,给你梳理几个大概率能解决问题的排查方向:

1. 先检查菜单的URL配置是否正确

在Voyager菜单构建器里,你给testpage菜单设置的URL格式对吗?

  • 要指向后台页面的话,URL必须和现有模块保持一致的前缀,也就是admin/testpage(一定要加admin/前缀)
  • 如果直接写testpage,系统会默认匹配前台路由,而你没配置前台对应的路由,自然就404了

2. 给自定义页面配置后台路由

Voyager自带的categories、posts这些模块都有内置路由,但你的testpage是自定义的,得自己手动加路由规则:
打开routes/web.php,添加这段代码:

Route::group(['prefix' => 'admin', 'middleware' => ['admin']], function () {
    // 简单版本:直接返回你创建的视图
    Route::get('testpage', function () {
        return view('vendor.testpage.browse');
    });
    
    // 如果后续需要业务逻辑,建议用控制器(记得先创建对应的控制器文件)
    // Route::get('testpage', 'Admin\TestpageController@index');
});

注意:中间件admin是Voyager后台默认的权限验证中间件,别写错了

3. 确认视图文件的路径和命名完全正确

你创建的resources/views/vendor/testpage/browse.blade.php得确保:

  • vendor文件夹下确实有testpage子目录,没有拼写错误(尤其是Linux服务器,大小写是敏感的)
  • 可以先临时把路由里的返回改成字符串,比如return 'Test Page works!';,如果能正常显示,说明路由没问题,问题出在视图文件的路径或者内容上

4. 检查Voyager的权限设置

有时候菜单显示出来了,但没有对应权限也会返回404:

  • 进入Voyager后台的Settings -> Permissions页面
  • 看看有没有testpage相关的权限(比如browse_testpages),没有的话手动添加
  • 确保当前登录的管理员账号已经分配了这个权限

5. 清除Laravel的缓存

缓存有时候会导致新配置不生效,执行这几个命令:

php artisan route:clear
php artisan view:clear
php artisan cache:clear

如果以上步骤都试过还是不行,你可以把菜单配置的截图或者路由代码贴出来,我再帮你细查~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:27:38