问题描述:
当我导航到我的网络应用程序中的某些页面时,没有加载/找到 css 文件。我收到 404 not found 错误,我不明白为什么。它一定是一些我没有看到的简单东西。
具体来说,当我导航到默认页面时,它可以工作(调用下面的 index() 方法)但是当我尝试运行 getallswitches() 页面时,没有加载任何 css 文件。
代码
我有以下 CI Controller :
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Objects extends CI_Controller {
public function __construct()
{
parent::__construct();
$this->load->model('objects_model');
}
public function index()
{
$data['main_content'] = 'default';
$this->load->view('includes/template',$data);
}
public function getallswitches()
{
$switches= $this->objects_model->get_all_switches();
$data['switches']= json_encode($switches);
$data['main_content'] = 'switches';
$this->load->view('includes/template',$data);
}
}
我正在使用模板系统加载我的 View 。模板文件如下所示:
<?php
$this->load->view('includes/header');
$this->load->view($main_content);
$this->load->view('includes/footer');
?>
在我的 header.php 文件中,我有像这样添加 css 文件的逻辑:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="../../favicon.ico">
<title>test app</title>
<link href="../application/assets/css/bootstrap.min.css" rel="stylesheet">
<link href="../application/assets/css/justified-nav.css" rel="stylesheet">
<link href="../application/assets/css/dashboard.css" rel="stylesheet">
<script src="../application/assets/js/ie-emulation-modes-warning.js"></script>
</head>
关于我可能搞砸了什么的任何提示? 我看这个太久了。
编辑 1
这是失败时 URL 的样子:
http://localhost/testapp/index.php/application/assets/css/bootstrap.min.css
当它起作用时:
http://localhost/testapp/application/assets/css/bootstrap.min.css
最佳答案
为您的资源使用绝对路径。
<link href="/application/assets/css/bootstrap.min.css" rel="stylesheet">
或者使用 base_url() 函数:
<link href="<?=base_url();?>application/assets/css/bootstrap.min.css" rel="stylesheet">
但一般来说:
不要将您的 Assets 放入应用程序文件夹中。最好将 assets 文件夹放在应用程序的根目录中,或者更好地将 public 与应用程序和系统文件夹分开,将 assets 移动到 public 文件夹。 https://stackoverflow.com/a/32346618/5173560
关于php - codeigniter 3 - 缺少 css 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32913983/