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

Laravel中使用route('name')关联blade文件时a标签失效问题

问题原因及解决办法

核心问题

你直接在浏览器中打开layouts/test.blade.php是静态访问本地文件,没有经过Laravel应用的服务器处理,导致Blade模板里的route()辅助函数生成的URL无法被Laravel路由系统解析,自然会返回404 Not Found。

解决步骤

  1. 启动Laravel内置服务器
    在项目根目录的终端中运行:

    php artisan serve
    

    这会启动一个本地服务器,默认地址是http://localhost:8000。

  2. 给test页面添加路由
    你目前只给contact页面配置了路由,layouts/test.blade.php也需要对应的路由才能通过Laravel访问。在web.php中添加:

    Route::get('test', function () {
        return view('layouts.test');
    })->name('test');
    
  3. 通过服务器访问test页面
    在浏览器中打开http://localhost:8000/test,此时页面里的{{ route('contact') }}会被正确解析为http://localhost:8000/contact,点击链接就能正常访问contact页面了。

额外说明

  • Blade模板中的route()、asset()等辅助函数,只有在Laravel应用的运行环境下才能正确解析,直接打开本地.blade.php文件时,浏览器只会把它当成普通HTML,无法解析Laravel的模板语法和路由逻辑。
  • 你的contact路由和视图路径是正确的,只要通过Laravel服务器访问,就能正常工作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 13:23:16