未引用公用文件夹的资源(Laravel)

2022-08-30 19:01:17

我的laravel项目中有一个公用文件夹,里面有一些js和css文件。

我正在使用资产函数,即使它引用了公用文件夹,我的文件也不会加载到页面上。

我正在使用此代码来加载(这只是一个示例,还有更多文件):

<link href="{{ asset('css/style.css') }}" rel="stylesheet">

在浏览器的控制台上,我得到这样的东西:

无法加载资源:服务器以状态 404(未找到)http://localhost:8000/css/style.css 进行响应

好吧,我试图恢复最后一次提交,但没有成功。尝试更改为URL::asset()函数,什么都没有。已尝试以下链接中的所有内容:http://laravel.io/forum/09-17-2014-problem-asset-not-point-to-public-folder?page=1 和成功。

请帮个小忙?

谢谢!


答案 1

我遇到了同样的问题。这是由于将 .htaccess 文件从项目的公共移动到根目录,以便提供服务而不是 。并且需要在资产中使用公共:localhost/projectlocalhost/project/laravel

<link href="{{ asset('public/css/app.css') }}" rel="stylesheet">

或者,从 /Illuminate/Foundation/helpers 修改资源函数.php

if (! function_exists('asset')) {
    /**
     * Generate an asset path for the application.
     *
     * @param  string  $path
     * @param  bool    $secure
     * @return string
     */
    function asset($path, $secure = null)
    {
        return app('url')->asset("public/".$path, $secure);
    }
}

前面的方法不是很好的方法。无论如何,如果有用于设置资产路径的配置,这将更容易。


答案 2

添加您的 :env

ASSET_URL=public 

ASSET_URL=public/

ASSET_URL=/public

你需要哪一个你可以做到...


推荐