我是CI新手,请帮我解决。
路由在localhost中工作,但在codeigniter项目中的在线主机中不起作用
的config.php
$root=(isset($_SERVER['HTTPS']) ? "https://" : "http://").$_SERVER['HTTP_HOST'];
$root.= str_replace(basename($_SERVER['SCRIPT_NAME']), '', $_SERVER['SCRIPT_NAME']);
$config['base_url'] = $root;
$config['index_page'] = 'index.php';
routes.php文件
$route['default_controller'] = 'welcome';
$route['404_override'] = '';
$route['translate_uri_dashes'] = FALSE;
$route['test'] = 'test';
控制器 - 的 test.php的
class test extends CI_Controller {
public function index()
{
echo "Hi! This is at test";
}
}
问题
答案 0 :(得分:1)
制作控制器时,类和文件名必须有首字母大写
test.php的
<?php
class Test extends CI_Controller {
public function index() {
echo "Working";
}
}
正如以前的版本没有问题,但现在在CI3版本中,您必须首字母包含所有类和文件名大写。
例如,在调用模型时也是如此。
Test_model.php
<?php
class Test_model extends CI_Model {
public function get() {
// some db stuff here.
}
}
将模型加载到控制器
<?php
class Test extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->model('test_model');
}
public function index() {
$data['test_results'] = $this->test_model->get();
$this->load->view('test_page', $data);
}
}
使用您的base_url,如果需要,您可以留空,并且应该自动提取您的网址
$config['base_url'] = '';