Laravel:布局中的脚本和图像源在带有前缀的url中不起作用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Laravel:布局中的脚本和图像源在带有前缀的url中不起作用相关的知识,希望对你有一定的参考价值。
路线
Route::group(array('before' => 'guest'), function()
{
// home
Route::get('/', array('uses' => 'HomeController@home', 'as' => 'home'));
Route::get('home', array('uses' => 'HomeController@home', 'as' => 'home'));
Route::get('/user/create', array('uses' => 'UserController@getCreate', 'as' =>'getCreate'));
Route::get('/user/login', array('uses' => 'UserController@getLogin', 'as' =>'getLogin'));
Route::group(array('before' => 'csrf'), function()
{
Route::post('/user/create', array('uses' => 'UserController@postCreate', 'as' => 'postCreate'));
Route::post('/user/login', array('uses' => 'UserController@postLogin', 'as' => 'postLogin'));
});
});
我尝试在master.blade.php文件中添加脚本文件的链接,如下所示
<link rel="stylesheet" href="css/bootstrap.min.css">
这将在url中正常工作:
本地主机/公
但是如果我试图查看我的页面/用户/登录,那么引导脚本不起作用......但是如果我指定链接为
<link rel="stylesheet" href="../css/bootstrap.min.css">
然后bootstrap脚本将在/ user / login中正常工作,但它不能在没有前缀的链接中工作
答案
当您加载这样的样式表:
<link rel="stylesheet" href="css/bootstrap.min.css">
样式表的链接将附加到浏览器的当前URL。所以对于http://somedomain.com/来说,这就变成了http://somedomain.com/css/bootstrap.min.css - 但是对于http://somedomain.com/somefolder/来说,这就变成了http://somedomain.com/somefolder/css/bootstrap.min.css
但是,当你这样做时:
<link rel="stylesheet" href="../css/bootstrap.min.css">
你所说的是“去一个目录,然后附加链接”。
你想要的可能是这样的:
<link rel="stylesheet" href="/css/bootstrap.min.css">
开头的/
说“转到你的域的根目录”,然后它附加了样式表链接。
另一答案
在Laravel中,您必须添加CSS和JS,如下所示。你正在使用刀片!
{{html::style('css/default.min.css')}} <!-- For CSS -->
{{HTML::script('js/scripts.min.js')}} <!-- For JS -->
根据我的例子,确保css文件夹中存在css,并且js存在于js文件夹中。
public/css/default.min.css
public/js/scripts.min.js
以上是关于Laravel:布局中的脚本和图像源在带有前缀的url中不起作用的主要内容,如果未能解决你的问题,请参考以下文章
如何将带有前缀列的表连接到 PHP MySQL 或 Laravel 中的另外两个表