【发布时间】:2017-01-19 17:50:45
【问题描述】:
我正在尝试将一些网站从 CI 2.x 移动到 CI 3.1.2, 但是在我将旧网站移至新 CI 后,当我访问该页面时出现 404 错误。
这是我的 CI 结构:
Applications
- controller
-- back
-- front
--- Home.php
- libraries
-- front.php
- model
-- home_models.php
- views
-- back
-- front
--- elems
---- head.php
---- foot.php
--- pages
---- home.php
--- display
---- pages.php
控制器 主页.php
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Home extends CI_Controller {
var $data;
public function __construct(){
parent::__construct();
}
public function index(){
$data = array();
$this->front->pages('home',$data);
}
}
/* End of file welcome.php */
/* Location: ./application/controllers/welcome.php */
库front.php
<?php
class Front {
protected $_ci;
function __construct(){
$this->_ci = &get_instance();
}
function pages($page, $data=null){
$data['head'] = $this->_ci->load->view('front/elems/head', $data, TRUE);
$data['content'] = $this->_ci->load->view('front/pages/'.$page, $data, TRUE);
$data['foot'] = $this->_ci->load->view('front/elems/foot', $data, TRUE);
$this->_ci->load->view('front/display/pages', $data);
}
}
?>
在我的路线中:
$route['default_controller'] = 'front/home';
在我的自动加载中:
$autoload['libraries'] = array('front');
在旧的 CI 中,这种结构是可行的,但是在我尝试在 3.1.2 中实现该结构之后,我无法访问该页面。这有什么问题。
【问题讨论】:
-
您是否按照升级指南进行操作? codeigniter.com/user_guide/installation/upgrade_300.html
-
您的默认控制器不能在子文件夹中。
-
如果我想要子文件夹中的默认控制器。我应该怎么办? @wolfgang1983
-
@FarhanAfandi 使用我的应用程序/核心/MY_Router.php 扩展github.com/wolfgang1983/…
标签: php codeigniter codeigniter-3