我正在使用php codeigniter开发一个Web应用程序。在views文件夹中,我创建了包含css和js等文件的header.php和用于页脚的footer.php。
在默认控制器中,当我使用$this->load->view('header')
时,它没问题。但是当我在其他页面中使用此命令时,无法加载css文件。在inspect元素中,我在css文件路径中遇到错误,codeigniter将index.php/ctrl_name
添加到此地址。
这是我的css文件的路径:
http://localhost:9000/CRM/index.php/home/assets/css/materialize.min.css
答案 0 :(得分:5)
在application / config / autoload.php中加载url helper
$autoload['helper'] = array('url');
在application / config / config.php中设置base_url配置
$config['base_url'] = 'http://localhost/MyProject';
在header.php中,包含js和css,如下所示:
<link href="<?=base_url();?>assets/css/materialize.min.css" rel="stylesheet">
祝你好运!
答案 1 :(得分:0)
这是因为您使用资产的相对网址,可能类似于'assets/css/materialize.min.css'
。
一种可能的解决方案是使用绝对URL:
base_url('assets/css/materialize.min.css')
另一种解决方案是使用常量来存储资产文件夹的路径,然后在每次包含某个资产时使用该常量:
define('ASSETS_URL', base_url('assets/'));
// or you can even define separate constants for CSS
define('ASSETS_CSS_URL', base_url('assets/css/'));
// then use it like this
// note the extra slash, base_url() strips trailing slashes
$path_to_css_file = ASSETS_CSS_URL . '/materialize.min.css';
答案 2 :(得分:0)
我建议你把所有静态文件放在&#34; assets&#34;您的Web根目录中的文件夹。我们假设您创建一个名为&#34; assets&#34;的文件夹。其中包含特定类型的文件夹,即js,img,css。
然后总是按照以下示例引用它们:
答案 3 :(得分:0)
请在application-&gt; config中的autoload.php中自动加载url
帮助,然后通过base_url()
链接所有文件。将所有js和css文件放在assests文件夹中,然后检查链接代码:
<link href="<?php echo base_url(); ?>/home/assets/css/materialize.min.css" rel="stylesheet" type="text/css" >
答案 4 :(得分:0)
试试这个网址
<link rel="stylesheet" type="text/css" href="<?php echo base_url();?>assets/css/materialize.min.css">
如果您的基本URL根目录和您的资源文件夹与根目录相同
答案 5 :(得分:0)
<link href="<?php echo base_url();?>assets/css/materialize.min.css" rel="stylesheet">
在您的视图文件(header.php)中使用它