2017-04-06 28 views
1

当我传递一个URL参数(Laravel 5.4)时,我看到我的页面上的静态图片没有加载(而是没有加载URL)参数并使用完全相同的视图,它们加载正常。所以http://localhost/site/public/filmpage显示图像,但http://localhost/site/filmpage/batman不显示图像(所有其他资产加载正常)。想知道为什么这是,以及如何解决它?Laravel 5 - 在URL中传递参数时破坏了静态图片资源

我有我的web.php路径与文件:

Route::get('filmpage', '[email protected]'); 
Route::get('filmpage/{name}', '[email protected]'); 

然后控制器文件,:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Http\Request; 

class FilmController extends Controller 
{ 
    public function filmpage($name) 
     { 
     return view('filmpage',array('name' => $name)); 
     } 

    public function filmpagetest() 
     { 
     return view('filmpage',array('name' => 'hello')); 
     } 
} 

我我的Win 7的64位机器上运行Laravel,PHP 5.6 .24,Bitnami WAMP堆栈7.1.2。

感谢您的任何建议。您所提供

+1

你能告诉我们你的看法吗?这将有助于解决这个问题。 –

+0

视图只是一个非常简单的纯文本模板(layout.blade.php),其中间有@yield('content'),然后是主页内容的单独刀片模板。但是,对于工作页面和非工作页面,它都使用相同的布局页面。 –

+0

奇怪的是,当我在Chrome浏览器中查看呈现的页面源代码时,对于工作页面和非工作页面,链接到两个碎片图像的HTML链接都是:src =“images/logo-small.png”但是当我将鼠标悬停在链接上显示的实际完整图像路径(在Chrome浏览器的视图源窗口的底部)是/localhost/site/public/images/logo-small.png,用于工作页面,但是非工作页面(带有参数)它是:/localhost/site/public/filmpage/images/logo-small.png - 错误的路径,因为'filmpage'位... –

回答

0

使用的信息,我认为你的资产像链接:

/path/to/asset/file.ext 

,但要加载使用这样的路径图片:

path/to/image.ext 

注失踪/和开始。 这就是为什么你的图像可能不会被加载。

+0

我试着在路径文件Route :: get('/ filmpage','FilmController @ filmpagetest')放入一个/前面的路径。 Route :: get('/ filmpage/{name}','FilmController @ filmpage');但它没有区别... –

+0

请参阅以上回复Adarsh –