【问题标题】:Laravel project's all assets are giving 404 errorLaravel 项目的所有资产都出现 404 错误
【发布时间】:2019-08-18 05:27:29
【问题描述】:

我正在开发一个 Laravel 项目。它低于 5.7 Laravel 版本。我使用 Homestead 作为本地开发环境。当我在项目中运行任何路线时,它不会加载公共资产。相反,它给出了 404 错误。见下图。

我在获取资产路径时正确编码

{{ asset("public/js/frontend/jquery.min.js") }}

但所有这些资产都存在于项目文件夹中。当我尝试使用任何这些资产时,它会给出 laravel 的 404 错误。见下图。

如果有人可以为此提供解决方案,那就太好了。提前致谢。

【问题讨论】:

  • 如果您在asset() 调用中丢失了public 部分怎么办? {{ asset("js/frontend/jquery.min.js") }} 因为公用文件夹是您的网络服务器作为根文件夹的文件夹,所以它不会显示在 url 中。
  • 哇。有用。完美的。认为它也需要添加“公共”。谢谢@DouwedeHaan

标签: laravel apache nginx homestead


【解决方案1】:

正如@Douwe de Haan 所建议的,您不必使用公共部分,只需调用

{{ asset("js/frontend/jquery.min.js") }}

【讨论】:

    【解决方案2】:

    你不应该将公共目录写入资产函数

    {{ asset("js/frontend/jquery.min.js") }}
    

    还有,

    您可以通过设置 ASSET_URL 变量来配置资产 URL 主机 在您的 .env 文件中。如果您将资产托管在 Amazon S3 等外部服务:

    // ASSET_URL=http://example.com/assets
    
    $url = asset('img/photo.jpg'); // http://example.com/assets/img/photo.jpg
    

    https://laravel.com/docs/5.8/helpers#method-asset

    【讨论】:

    • 是的 {{asset("js/frontend/jquery.min.js") }} 解决了我的问题。谢谢
    猜你喜欢
    • 1970-01-01
    • 2016-06-22
    • 2020-05-07
    • 1970-01-01
    • 2020-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多