我最近刚刚安装了Lumen框架,并开始从中构建一个网站。是的我知道流明仅适用于API,但请帮我解决这个问题。
我已将所有观看内容放在 / resources / views 中,我的模板放在 / resources / views / templates 中。
既然我不得不在某处放置 [css / js / images] ,我想把所有这些放在 public / assets / [css / js / images] 中会很好。
现在在我的布局中,当我尝试包含css时 - 我使用类似的东西 -
<link href="{{ url('assets/css/something.css') }}">
并且它可以提供类似这样的输出 -
<link href="localhost/assets/css/something.css">
同样适用于js但是当我尝试包含图像时它会变得奇怪。为了包含图像,我写了类似的东西 -
<img src ="{{ url('assets/images/someimage.jpg') }}"
当我查看页面源时,输出就像我预期的那样 -
<img src="localhost/assets/images/someimage.jpg">
但是我的控制台触发404找不到错误,说明找不到someimage.jpg。当我通过检查图像的父母进行交叉检查时,Url就像这样完全不同 -
<img src="localhost/images/someimage.jpg">
请参阅,自动省略资产&#39;来自图片网址并导致404,但是当我查看网页来源时,我可以看到正确的网址。
我试图解决问题的事情 -
清除缓存并重新加载页面。
尝试使用asset()而不是url(),但是从流明中删除了原型。
从资源中拉出[css / js / images]文件夹并将其粘贴在父级即公共中。 这有效,但问题是为什么以前的设置可以找到css和js并且仅导致图像出现问题?
我的其他问题是 -
1。页面源中的URL如何与正在呈现的URL不同?就我的情况而言,页面源中的url工作并显示图像,但由于url被渲染而省略了资产&#39;因此,路径导致了404。
2。是否有其他好方法可以在视图中包含这些资产。如果是,那么还请提到放在哪里?
附加一些图像/代码以供参考。
Output of rendered page showing 404 errors for images but none for css.
Output of view page source windows showing asset included in image path
答案 0 :(得分:1)
不知道这是否正确,但我相信你实际上需要在该URL中放置一个图像流。现在服务器正在尝试检索一些不存在的字节编码对象。
我不知道你的情况是否相同,但我有很多情况需要放入图片流而不是网址,我已经用this library解决了这个问题:
<强> routes.php文件强>
/**
* Image handling routes.
* These make sure images actually are images instead of bytecode
*/
Route::get('organization/logo/{logo}', function($logo) {
$file = Image::make(Storage::disk('logo-image')->get($logo));
return $file->response();
});
查看强>
<img src="{{ asset('organization/logo/' . $organization->logo_path) }}" alt="">
我可能完全离开了,但我认识到你的应用程序正在发生什么,这在我实施它时会解决问题。
答案 1 :(得分:0)
检查您的网络服务器配置。听起来您有某种类型的重定向设置可将assets/images/*
重定向到images/*
。
作为一项简单的测试,请打开您的网络&#34;选项卡并将浏览器导航至http://samplelumena.local/assets/images/footer1.jpg
。我猜测网络跟踪会向http://samplelumena.local/images/footer1.jpg
显示30x(301,302等),然后是该网址的404。