Codeigniter“base_url”无法正常工作

时间:2017-02-02 09:02:11

标签: codeigniter

我尝试连接bootstrap CSS文件。无法正常工作

控制器代码Welcome.php

class Welcome extends CI_Controller {
    public function index()
    {
        $data['title'] = "Login Home";
        $this->load->view('home',$data);
    }
}

我的观点代码home.php

<html>
<head>
    <meta charset="UTF-8">
<title>Login Home</title><link href="http://[::1]/ci/register/application/bootstrap-3.3.6/css/bootstrap.min.css" rel="stylesheet">
</head><body>
<div class="container">
    <div class="row">
        <div class="col-lg-offset-4 col-lg-4">
            <div class="well">
                <h3>welcome</h3>
            </div>
        </div>
    </div>
</div></body></html>

4 个答案:

答案 0 :(得分:0)

首先在base_url文件中设置config/config.php

$config['base_url'] = 'http://localhost/ci/';

然后

<link href="<?php echo base_url('register/application/bootstrap-3.3.6/css/bootstrap.min.css')?>" rel="stylesheet">

最佳做法是将您的css文件放在assets目录(创建assets文件夹)中,然后链接为(假设您的css文件位于assets/css

<link href="<?php echo base_url('assets/css/bootstrap.min.css')?>" rel="stylesheet">

答案 1 :(得分:0)

将你的bootstrap css文件夹放在你的根文件夹

中的应用程序文件夹.i.e

答案 2 :(得分:0)

要在codeigniter中使用base_url()。您必须先在控制器中加载url帮助器。就像这样。更多信息请参见Url Helper

public function index()
    {
       $this->load->helper('url'); //loads url helper
        $data['title'] = "Login Home";
        $this->load->view('home',$data);
    }

然后在你看来:

<html>
<head>
    <meta charset="UTF-8">
<title><?php echo $title;?></title><!--Echo title here -->
<link href="<?php echo base_url('register/application/bootstrap-3.3.6/css/bootstrap.min.css');?>" rel="stylesheet"><!--use base_url here -->

</head><body>
<div class="container">
    <div class="row">
        <div class="col-lg-offset-4 col-lg-4">
            <div class="well">
                <h3>welcome</h3>
            </div>
        </div>
    </div>
</div></body></html>

不要忘记在base_url

中设置application/config/config.php
$config['base_url'] = 'http://localhost/ci/';

希望一切顺利

答案 3 :(得分:0)

首先,第一件事是base_url()在url帮助器中,我建议将其添加到总是被加载(你将使用它很多)...

提交application / config / autoload.php添加/更改此信息(第88行:

$autoload['helper'] = array(
'url');

我强烈建议您将公共文件设置为公用文件夹,包括index.php ..

您的主文件夹结构将是

/
/application/
/public/
    /index.html
    /css/
    /js/
    /lib/
/system/

您只需在主目录下创建文件夹,然后将index.php移入其中。

然后编辑这些区域中的index.php文件:

$system_path = '../system';

$application_folder = '../application';

然后更改您的网络服务器(apache虚拟主机(或ust公共目录)等)中的公用文件夹以指向公用文件夹http://localhost/ci/public

可能比您所追求的要多一些,但它更安全,每个文件顶部都不需要defined('BASEPATH') OR exit('No direct script access allowed');,以防止直接访问文件。

然后,您只需将css引用到该直接路径,就像您对结构中的普通文件一样...例如:

<link href="<?php echo base_path('/css/boostrap.css');?>" rel="stylesheet" type="text/css">

我建议构建一个帮助程序来执行此操作,它变得非常烦人动态加载资源(其他特定于页面的样式/ javascript文件)