当前位置: 首页 > 知识库问答 >
问题:

不引用公共文件夹的资产(Laravel)

井洲
2023-03-14

我的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和成功。

请帮我一点忙好吗?

谢谢

共有3个答案

萧胜
2023-03-14

保存并成功设置.htaccess(如下所示)后,您的方法将按预期工作:

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

请注意,在设置.htaccess后,所有客户端URL请求(对图像、JavaScript/CSS文件、JSON的请求)都将受到重写规则的影响。

还要注意,看到更改后可能需要一段时间。缓存可能会干扰这些更改。因此,请确保清除Laravel缓存:

在Shell中,分别运行以下命令:

php artisan cache:clear
php artisan route:cache
php artisan config:cache
php artisan view:clear

并确保在浏览器设置中暂时禁用缓存:

在Google Chrome中:打开开发工具

其他浏览器:在线搜索如何做到这一点。

袁凌
2023-03-14

添加您的env

ASSET_URL=public 

ASSET_URL=public/

ASSET_URL=/public

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

方建明
2023-03-14

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

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

或者,从/illumb/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);
    }
}

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

 类似资料:
  • 因此,我的Laravel项目中有以下文件夹组织: 公共 user_images group_images img css 供应商 等... 所以我的问题是,当用户上传图像时,我将其移动到文件夹user#image,然后使用干预图像使其变小,使用image::make(#folder),然后重新调整其大小,最后保存它。但要做到这一点,文件夹用户_映像需要特殊权限,使用chmod 777,我可以使其正

  • 我试图使用一个自定义字体,我读到我想把字体放在资产/字体。我使用的是Android Studio,似乎我没有资产文件夹。所以我创造了一个。但当我将assets文件夹放在src/main中时,我的应用程序会崩溃。我使用这个代码来加载我的字体。 我做错了什么?

  • 我是Android的新手。 我已经尝试了这个论坛的所有帖子。但未能取得成功。我正在尝试将mp3文件从asset文件夹共享到whatsapp。 下面是我的代码。 这是我在主活动中的代码: ContentProvider中的代码: 清单文件:

  • 我有一个经过验证的谷歌客户端,我想列出其他人公用文件夹中的文件(我认为共享或不共享的文件夹是不相关的,因为它是公用的) 这是我在NodeJS中的代码 注意:文档中没有“folderId”选项:https://developers.google.com/drive/api/v3/reference/files/list-只是一个drivid选项 虽然我将corpa设置为“drive”和drive I

  • 我有一个像这样的文件夹 应用程序 供应商 引导程序 公开的 文件夹 img 当我从url访问时http://example.com/img/img.png它工作,但当我喜欢访问http://example.com/img/我得到禁止403,我需要的是重定向或显示该页面没有找到我的。htaccess看起来像这样。 选项-多视图选项-索引重写引擎打开

  • 我的构建环境突然出现问题,我不知道为什么。我可以使用gradlew desktop运行我的项目:run然而,当我尝试使用右键单击run as desktop application(当然是在桌面项目上)从Eclipse运行项目时,它突然找不到我的包。阿特拉斯档案。毫无疑问,该文件存在。我已经多次刷新了我的eclipse项目,并且该项目使用gradle命令行运行良好。昨天天气很好。我能想到的唯一一件