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

Laravel带{id}参数的详情页出现404页面未找到问题

解决Laravel详情页404错误的问题

嘿,我看你遇到的是路由路径不匹配导致的“page not found”错误,咱们来一步步排查解决:

核心问题:路由与请求URL不匹配

你页面里生成的锚点URL是localhost/pages/details/5,但你的路由定义的是/details/{id}——这就相当于你请求的是pages/details/5,但路由只监听/details/{id},自然找不到对应的处理逻辑。

两种修复方案选其一就行:

  1. 修改路由,加上pages前缀
    把路由改成和URL一致的路径:

    Route::get('/pages/details/{id}', 'SearchController@detailsget');
    
  2. 修改锚点的URL生成,去掉pages
    调整HTML里的url()参数,让生成的URL匹配现有路由:

    <a href="{{ url('/details/'.$landmark->id) }}">{{$landmark->name}}</a>
    

额外需要检查的细节

  • 先确认Landmark模型能正常通过find($id)获取数据:可以在detailsget方法里加一行dd($landmarks);,访问详情页看是否能输出地标数据,如果是null,可能是ID不存在或者模型关联有问题。
  • 检查视图文件是否存在:确保resources/views/pages/details.blade.php这个文件确实存在,路径和名称都要对应上。
  • 如果是Laravel 8+版本,路由的控制器写法要调整:
    // 先引入控制器类
    use App\Http\Controllers\SearchController;
    
    // 然后用数组形式指定控制器和方法
    Route::get('/pages/details/{id}', [SearchController::class, 'detailsget']);
    

内容的提问来源于stack exchange,提问作者I Love Code

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:53:57