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

Laravel本地环境资源加载404错误求助(涉及assetVersion)

问题解决步骤

核心错误:asset()路径冗余的public前缀

你当前的asset()调用里多写了public/前缀,这是导致404的根本原因。Laravel的asset()函数默认会指向项目的public目录,所以不需要在参数里再加public/。

修正前的错误写法:

{{ asset('public/frontend/infixlmstheme') }}/css/fontawesome.css

生成的URL会是:http://127.0.0.1:8000/public/frontend/infixlmstheme/css/fontawesome.css,但实际你的资源存放在项目根目录/public/frontend/...,而web服务的根目录已经是public,所以URL里的public/是多余的,导致服务器找不到对应的文件。

修正后的正确写法:

把所有asset参数里的public/去掉,直接写资源在public目录下的相对路径:

{{ asset('frontend/infixlmstheme/css/fontawesome.css') }}{{ assetVersion() }}
{{ asset('backend/css/themify-icons.css') }}{{ assetVersion() }}
{{ asset('frontend/infixlmstheme/css/flaticon.css') }}{{ assetVersion() }}
{{ asset('frontend/infixlmstheme/css/nice-select.css') }}{{ assetVersion() }}
{{ asset('frontend/infixlmstheme/css/notification.css') }}{{ assetVersion() }}
{{ asset('frontend/infixlmstheme/css/mega_menu.css') }}

修正后生成的URL会是:http://127.0.0.1:8000/frontend/infixlmstheme/css/fontawesome.css?v=5.0.0,这个路径直接对应public目录下的资源文件。

关于assetVersion()的作用

assetVersion()是项目自定义的辅助函数,和404错误无关,它的作用是强制浏览器刷新静态资源缓存:

  • 当你更新了CSS/JS等静态文件后,浏览器可能会缓存旧文件,用户看不到更新。通过给URL添加版本参数(比如?v=5.0.0),浏览器会认为这是新的资源,重新下载。
  • 你可以在项目的app/helpers.php文件(或者自定义的服务提供者)找到它的实现,通常逻辑是读取配置文件里的版本号,或者根据文件修改时间生成版本标识,本质就是给URL加一个查询参数,不会改变资源的实际路径。

额外验证步骤

  • 直接在浏览器访问修正后的URL(比如http://127.0.0.1:8000/frontend/infixlmstheme/css/fontawesome.css),如果能正常显示CSS内容,说明路径已经正确。
  • 检查Laragon的站点配置,确保站点根目录指向项目的public文件夹,避免路径映射错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 02:01:10