1

我的 css 文件仅在 index 函数调用的视图上可用,但其他函数我收到 404 错误,即找不到 css 文件。这是我的控制器

class Enumurator extends CI_Controller {     

 public $layout_view = 'layouts/default';



 public function __construct()
{
    parent::__construct();
    $this->load->model('enumurators_model');
    $this->load->helper('url');
}

public function index()
{ 
   $this->load->library('layout');         
   $this->layout->title('Enumurators'); 
   $data['enumurators'] = $this->enumurators_model->get_enumurators();
   $this->layout->view('enumurators', $data);     

}

public function addenumurator()
{
$this->load->helper('form');
$this->load->library('form_validation');    
$this->load->library('layout');        

$data['title'] = 'Create Enumurator';

$this->form_validation->set_rules('fname', 'First Name', 'required');
$this->form_validation->set_rules('lname', 'Last Name', 'required');
$this->form_validation->set_rules('phone', 'Telephone', 'required');
$this->form_validation->set_rules('email', 'Email', 'required');
$this->form_validation->set_rules('phone', 'Phone', 'required');
$this->form_validation->set_rules('password', 'Password', 'required');


if ($this->form_validation->run() === FALSE)
{

    $this->load->view('newenumurator');


}

这:“本地主机/错误/枚举器”它工作正常

这:“localhost/mis/enumurator/addenumurator”找不到css

任何帮助将不胜感激

4

3 回答 3

3

您的问题可能与样式表在 HTML 中的链接方式有关,而不是与 CI 中的控制器有关。

目前,它可能是一个相对路径,像这样

<link rel="stylesheet" type="text/css" href="some/path/to/css.css" />

这意味着当您的 URL 直接指向您的索引时,此路径会正确转换为 CSS 的路径。将另一个目录(附加/something/)添加到 URL 后,路径现在不正确。

要解决此问题,请将路径更改为绝对路径:

<link rel="stylesheet" type="text/css" href="http://yourdomain.com/some/path/to/css.css" />
于 2013-06-12T14:14:41.193 回答
0

您可能在链接资产时使用相对路径,请始终使用此方法来避免在使用干净 url 时出现相对路径问题

<link rel="stylesheet" type="text/css" href="<?=base_url('css/file.css')?>" />
<link rel="stylesheet" type="text/css" href="<?=base_url('js/file.js')?>" />

或者如果您没有短标签

<link rel="stylesheet" type="text/css" href="<?php echo base_url('css/file.css')?>" />

PS:不要忘记在 /application/config/config.php 中设置你的 $config['base_url']

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

这样,当您将代码移动到生产服务器时,您所要做的就是更改此配置变量。

于 2013-06-12T14:45:37.587 回答
0

您必须在本地主机和实时服务器中安装 codeigniter

于 2013-06-12T15:34:52.647 回答