php - codeigniter 3 - 缺少 css 文件

标签 php css codeigniter

问题描述:

当我导航到我的网络应用程序中的某些页面时,没有加载/找到 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/

相关文章:

PHP INSERT 不工作,可能是坏数组?

css - 设置可选输入字段的样式

php - 获取复选框的多个值

php - 带有修改表的 Codeigniter 分页

php - nginx 1.6 别名 + php5-fpm = Debian 8 上的 404

javascript - 从数组添加动态覆盖

javascript - 在多选中获取值

html - 在 div 中使用 ng-repeat 调整外部 div 的位置

html - 换行不适合页面的文本而不是将其移动到其他文本下方

php - 使用 codeigniter 3 和 dynamodb 进行查询