2016-10-06 36 views
2

我最近做了Lumen框架的全新安装,并开始从中构建一个网站。是的,我知道流明仅适用于API,但请帮助我解决这个问题。Lumen的url()函数表现奇怪

我已经把里面/资源/视图和我的模板内/资源/视图/模板我所有的意见。

现在既然我只好就地[CSS/JS /图片]的地方,我想将所有的在公共/资产/ [CSS/JS /图片]将是很好。

在我的布局

现在,当我想包括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找不到。当我通过检查图像的母公司交叉检查,网址是完全不同的soemthing这样的 -

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

见,自动从图像的URL省略“资产”,并导致404,但我可以看到正确的URL时,我认为页面源代码。

事情我试图解决这个问题 -

  1. 清除缓存和重新加载页面。

  2. 尝试使用asset()而不是url(),但原型已从流明中移除。

  3. 从资产中拉出[css/js/images]文件夹并将它们粘贴到父项中,即公共。 这工作,但后来的问题是为什么以前的设置工作找到了两个CSS和JS和造成问题只与图像?

我的其他问题是 -

1.在页面的源代码的网址怎么可能从一个被渲染的不同?只是在我的情况下,页面源中的网址工作和显示图像,但由于URL正在渲染从路径中省略'资产'因此导致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

回答

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=""> 

我migh完全关闭,但我意识到您的应用正在发生什么情况,并且在我实施它时照顾到了这些问题。

+0

嘿!感谢您的回复,我一定会尝试回复。但现在可以请您将我链接到任何资源,我可以找到有关您提供的解决方案的更多信息? –

+0

我发现这非常有用:https://m.reddit.com/r/laravel/comments/3f9257/psa_uploading_interventionimages_using_storageput/和其他干预图像文档非常清晰 – Loek

0

检查您的Web服务器配置。这听起来像你有一些类型的重定向设置,将assets/images/*重定向到images/*

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