我无法在Laravel 5应用中将我的样式表,脚本和图片链接到非基本路线。当我访问example.com/about脚本和样式表工作正常但如果我访问example.com/about/something脚本和样式表链接到example.com/about/css/style.css而不是example.com/css /style.css
我的代码如下:
routes.php文件:
Route::get('about/{slug?}', ['as' => 'officerProfile', 'uses' => 'PagesController@about']);
PagesController.php:
public function about($slug = 'president')
{
$officers = Officer::all();
$currentOfficer = Officer::where('slug', $slug)->first();
return view("pages.about", ['title' => $this->makeTitle('Learn About Us')])->with('officers', $officers)->with('currentOfficer', $currentOfficer);
}
layout.blade.php:
{!! HTML::script('https://code.jquery.com/jquery-2.1.4.min.js') !!}
{!! HTML::script('js/skel.min.js') !!}
{!! HTML::script('js/skel-layers.min.js') !!}
{!! HTML::script('js/init.js') !!}
{!! HTML::script('js/scripts.js') !!}
<noscript>
{!! HTML::style('css/skel.css') !!}
{!! HTML::style('css/style.css') !!}
{!! HTML::style('css/style-desktop.css') !!}
</noscript>
出于某种原因,当加载的路由是example.com/about/something时,Laravel认为基本URL是example.com/about。我也试过了,但它仍然路由到example.com/about/images/image.jpg而不是example.com/images/image.jpg。任何建议将不胜感激。谢谢!
答案 0 :(得分:0)
您正在使用相对路径,并且您需要绝对路径。请参阅下面的示例,我添加的唯一内容是前置/
{!! HTML::script('https://code.jquery.com/jquery-2.1.4.min.js') !!}
{!! HTML::script('/js/skel.min.js') !!}
{!! HTML::script('/js/skel-layers.min.js') !!}
{!! HTML::script('/js/init.js') !!}
{!! HTML::script('/js/scripts.js') !!}
<noscript>
{!! HTML::style('/css/skel.css') !!}
{!! HTML::style('/css/style.css') !!}
{!! HTML::style('/css/style-desktop.css') !!}
</noscript>
相对路径加载与当前路径相关的文件。例如,从http://example.com/about/us
页面,您可以相对加载images/logo.png
,这会导致对http://example.com/about/images/logo.png
的实际请求。
绝对路径始终来自主机名:与上面相同但您加载/images/logo.png
会导致http://example.com/images/logo.png