我在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和成功.
请帮助一点?
谢谢!
Bho*_*yar 13
我遇到了同样的问题.这是因为.htaccess文件从公共项目移动到项目的根目录,以便服务localhost/project而不是localhost/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);
    }
}
前面的方法不是好方法.无论如何,如果有用于设置资产路径的配置,这将更容易.
在你保存并成功地设置你的.htaccess(像这样)之后,你的方法将按照你期望的那样工作:
<link href="{{ asset('css/style.css') }}" rel="stylesheet">
请注意,在您设置.htaccess.
另请注意,看到更改后可能需要一段时间。缓存可能会干扰这些更改。因此,请确保清除 Laravel 缓存:
在 Shell 中单独运行以下命令:
php artisan cache:clear
php artisan route:cache
php artisan config:cache
php artisan view:clear
并确保在浏览器设置中暂时禁用缓存:
在 Google Chrome 中:打开开发工具>打开网络选项卡> 选中“禁用缓存”。
其他浏览器:在线搜索如何操作。
小智 7
添加您的env:
ASSET_URL=public 
或者
ASSET_URL=public/
或者
ASSET_URL=/public
你需要哪一个你可以做到...
就我而言,.env我尝试过
ASSET_URL=public
两侧斜杠和单独的,没有任何帮助以及所有相关的SO答案,然后打开我的旧项目并看到。这最终对我有用(当然,除了清除视图和缓存)
ASSET_URL="${APP_URL}"
我正在谈论本地主机端
| 归档时间: | 
 | 
| 查看次数: | 12986 次 | 
| 最近记录: |