Lumen's url()函数运行异常


Lumen's url() function performing strangely

我最近重新安装了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 not found错误,说明没有找到某些图像。jpg。当我检查图像的父元素时,Url是完全不同的像这样-

<img src="localhost/images/someimage.jpg">

看,自动从图像url中省略'assets'并导致404,但当我查看页面源代码时,我可以看到正确的url。

Things I tried to resolve the issue -

  1. 清空缓存并重新加载页面。

  2. 尝试使用asset()代替url(),但原型从lumen中删除。

  3. 从资源中取出[css/js/images]文件夹并粘贴到parent即public中。

  4. 这是有效的,但问题是为什么之前的设置工作发现css和js,只导致问题与图像?

我的其他问题是-

1。页面源中的url如何与呈现的url不同?只是提一下,在我的情况下,在页面源的url工作并显示图像,但由于url被渲染省略了"资产"路径,因此导致404.

2。在视图中包含这些资产还有其他好方法吗?

附上一些图片/代码供参考。

图片显示404错误,css没有。

显示包含在图像路径中的资源的视图页面源窗口的输出

不知道这是否正确,但我相信您实际上需要在该URL中放入图像流。现在服务器正在尝试检索某个不存在的字节编码对象。

我不知道它是否对你来说是相同的情况,但我有很多实例,我不得不放入图像流而不是url,我已经用这个库解决了这个问题:

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();
});
<<p> 视图/strong>
<img src="{{ asset('organization/logo/' . $organization->logo_path) }}" alt="">

我可能完全关闭,但我认识到你的应用程序发生了什么,这照顾的问题,当我实现它。

检查您的web服务器配置。听起来你有某种重定向设置,将assets/images/*重定向到images/*

作为一个简单的测试,打开"网络"选项卡并在浏览器中导航到http://samplelumena.local/assets/images/footer1.jpg。我猜网络跟踪将显示一个30x(301、302等)到http://samplelumena.local/images/footer1.jpg,然后是该url的404。