为什么在codeigniter中使用段URI时不加载CSS 但是当我删除该段时它工作正常吗?
这是我链接css文件的方式
<title>TITLE</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- bootstrap -->
<link href="public/css/bootstrap.css" rel='stylesheet' type='text/css' media="all" />
<!-- //bootstrap -->
<!-- Custom Theme files -->
<link href="public/css/style.css" rel='stylesheet' type='text/css' media="all" />
<script src="public/js/jquery-1.8.3.min.js"></script>
控制器
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class profiles extends CI_Controller
{
public function index()
{
$user_id = $this->uri->segment(2, 9);
$this->load->model('user_model');
$this->load->model('count_model');
$data = array();
$result = $this->user_model->read_user_information_profile($user_id);
$data = array(
'username' => $result[0]->username,
'fname' => $result[0]->fname,
'lname' => $result[0]->lname,
);
$this->load->view('profiles_view', $data);
}
}
提前致谢
答案 0 :(得分:3)
因为您使用相对URL来加载CSS,所以它试图从/dir/profiles/public/css/style.css而不是/dir/public/css/style.css加载它,因此为什么它没有加载。
您可以在CSS中使用绝对URL:
<link href="<?php echo base_url('public/css/style.css'); ?>" rel='stylesheet' type='text/css' media="all" />
或者在尝试加载任何CSS或JS之前设置基本标记:
<base href="<?php echo base_url(); ?>" />
请参阅:http://www.codeigniter.com/user_guide/helpers/url_helper.html#base_url,请注意,如果您尚未加载网址助手,则可能需要加载。
答案 1 :(得分:0)
以这种方式更改加载:
<!-- bootstrap -->
<link href="<?php echo base_url(); ?>css/bootstrap.css" rel='stylesheet' type='text/css' media="all" />
<!-- //bootstrap -->
<!-- Custom Theme files -->
<link href="<?php echo base_ur;(); ?>css/style.css" rel='stylesheet' type='text/css' media="all" />
<script src="<?php echo base_url(); ?>js/jquery-1.8.3.min.js"></script>
您无需配置base_url
。它会自动检测