Laravel:布局中的脚本和图像源在带有前缀的url中不起作用

问题描述 投票:0回答:2

路线

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中正常工作,但它不能在没有前缀的链接中工作

php css twitter-bootstrap laravel laravel-4
2个回答
1
投票

当您加载这样的样式表:

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

开头的/说“转到你的域的根目录”,然后它附加了样式表链接。


0
投票

在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
© www.soinside.com 2019 - 2024. All rights reserved.