无法将 CSS/JS 与 CodeIgniter PHP 框架一起使用
Unable to use CSS/JS with CodeIgniter PHP Framework
这是一个非常普遍的问题,我查看了许多其他 SO 问题,但其中 none 能够解决我的问题。
CSS/JS 无法加载,站点崩溃并显示 400(错误请求)和 500(内部服务器错误)。
项目结构(在 Atom 编辑器中):
feedController.php:
<?php if (!defined("BASEPATH")) exit("No direct script access allowed");
class feedController extends CI_Controller {
public function loadfeed() {
$this->load->view('header');
$this->load->view('footer');
$this->load->view('feed');
}
}
feed.php:
我删除了 <head>
和 Css 链接和 Js 脚本代码行并将它们添加到 header.php 文件
header.php:
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
<?php if(isset($meta_title) && !empty($meta_title)) echo $meta_title; ?>
</title>
<?php
echo link_tag('assets/css/bootstrap.min.css');
echo link_tag('assets/font-awesome/css/font-awesome.css');
echo link_tag('assets/css/plugins/toastr/toastr.min.css');
echo link_tag('assets/js/plugins/gritter/jquery.gritter.css');
echo link_tag('assets/css/style.css');
?>
</head>
footer.php:
<?php ?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="<?php echo base_url('assets/js/jquery-2.1.1.js')?>"></script>
<script src="<?php echo base_url('assets/js/bootstrap.min.js')?>"></script>
<script src="<?php echo base_url('assets/js/plugins/metisMenu/jquery.metisMenu.js')?>"></script>
<script src="<?php echo base_url('assets/js/plugins/slimscroll/jquery.slimscroll.min.js')?>"></script>
config.php(位于application/config/config.php):
//I added localhost as my base_url
$config['base_url'] = 'http://localhost/';
我相信仅此而已?然而,我得到一个 BLANK WHITE 页面,其中控制台错误显示 Bad Request 和 Internal Server error(指向我的 header.php 文件)。
编辑
我尝试了下面给出的解决方案,但现在我在页面上收到一条错误消息:
An uncaught Exception was encountered
Type: Error
Message: Call to undefined function link_tag()
Filename: C:\xampp\htdocs\codeig\application\views\header.php
Line Number: 11
行号 11 指向 header.php 的 echo link_tag('assets/css/bootstrap.min.css');
编辑:
我补充了:
$this->load->helper('html');
$this->load->helper('url');
到我的控制器的方法和已加载的页面。但是,没有加载任何样式或 JavaScript。 404 错误 显示在控制台中
将您的 class 名称 feedController
更改为 Feedcontroller
并重命名文件 also.Then 尝试因为 Linux 服务器 return 500 错误与此名称feedController
添加 HTML 助手库后:
现在您需要将 base_url()
修改为:
$config['base_url'] = 'http://localhost/codeig/'; // use this
你用的是什么?
$config['base_url'] = 'http://localhost/';
为什么我建议这样做:
根据您的评论,您的 css 路径是:
localhost/assets/css/animate.css
这很清楚,您的 url 中没有可用的项目文件夹。这应该是:
localhost/codeig/assets/css/animate.css
如果是Codeigniter2
,则不需要设置base_url
。
$config['base_url'] = '';
这是一个非常普遍的问题,我查看了许多其他 SO 问题,但其中 none 能够解决我的问题。
CSS/JS 无法加载,站点崩溃并显示 400(错误请求)和 500(内部服务器错误)。
项目结构(在 Atom 编辑器中):
feedController.php:
<?php if (!defined("BASEPATH")) exit("No direct script access allowed");
class feedController extends CI_Controller {
public function loadfeed() {
$this->load->view('header');
$this->load->view('footer');
$this->load->view('feed');
}
}
feed.php:
我删除了 <head>
和 Css 链接和 Js 脚本代码行并将它们添加到 header.php 文件
header.php:
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>
<?php if(isset($meta_title) && !empty($meta_title)) echo $meta_title; ?>
</title>
<?php
echo link_tag('assets/css/bootstrap.min.css');
echo link_tag('assets/font-awesome/css/font-awesome.css');
echo link_tag('assets/css/plugins/toastr/toastr.min.css');
echo link_tag('assets/js/plugins/gritter/jquery.gritter.css');
echo link_tag('assets/css/style.css');
?>
</head>
footer.php:
<?php ?>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script>
<script src="<?php echo base_url('assets/js/jquery-2.1.1.js')?>"></script>
<script src="<?php echo base_url('assets/js/bootstrap.min.js')?>"></script>
<script src="<?php echo base_url('assets/js/plugins/metisMenu/jquery.metisMenu.js')?>"></script>
<script src="<?php echo base_url('assets/js/plugins/slimscroll/jquery.slimscroll.min.js')?>"></script>
config.php(位于application/config/config.php):
//I added localhost as my base_url
$config['base_url'] = 'http://localhost/';
我相信仅此而已?然而,我得到一个 BLANK WHITE 页面,其中控制台错误显示 Bad Request 和 Internal Server error(指向我的 header.php 文件)。
编辑
我尝试了下面给出的解决方案,但现在我在页面上收到一条错误消息:
An uncaught Exception was encountered
Type: Error
Message: Call to undefined function link_tag()
Filename: C:\xampp\htdocs\codeig\application\views\header.php
Line Number: 11
行号 11 指向 header.php 的 echo link_tag('assets/css/bootstrap.min.css');
编辑:
我补充了:
$this->load->helper('html');
$this->load->helper('url');
到我的控制器的方法和已加载的页面。但是,没有加载任何样式或 JavaScript。 404 错误 显示在控制台中
将您的 class 名称 feedController
更改为 Feedcontroller
并重命名文件 also.Then 尝试因为 Linux 服务器 return 500 错误与此名称feedController
添加 HTML 助手库后:
现在您需要将 base_url()
修改为:
$config['base_url'] = 'http://localhost/codeig/'; // use this
你用的是什么?
$config['base_url'] = 'http://localhost/';
为什么我建议这样做:
根据您的评论,您的 css 路径是:
localhost/assets/css/animate.css
这很清楚,您的 url 中没有可用的项目文件夹。这应该是:
localhost/codeig/assets/css/animate.css
如果是Codeigniter2
,则不需要设置base_url
。
$config['base_url'] = '';