尝试访问CodeIgniter中的控制器时出错404

时间:2015-08-12 02:48:04

标签: php codeigniter http-status-code-404

我正在尝试访问CodeIgniter控制器而我收到404错误。 在我的电脑中,我可以访问.../index.php/apadrinhamentoController/padrinhosPossiveis

但是当上传到服务器时,我只能访问索引文件 site.com/apadrinhamento/index.php而非site.com/apadrinhamento/index.php/apadrinhamentoController(获取404错误)。

apadrinhamentoController.php档案

<?php
class apadrinhamentoController extends CI_Controller{
public function __construct() {
    parent::__construct();
    $this->load->helper('url');
}
public function index() {
    $this->load->view('apadrinhamento');
}
}

index.php文件是CodeIgniter的默认文件

我没有在.htaccess

上使用/apadrinhamento

2 个答案:

答案 0 :(得分:2)

首先你应该明白,Codeigniter != CakePHP。表示您无需定义controller_name + Controller字词。

class apadrinhamento extends CI_Controller
{
    public function __construct() 
    {
        parent::__construct();
        $this->load->helper('url');
    }
    public function index() 
    {
        //$this->load->view('apadrinhamento');
        echo 'Im index of your function';
    }

    public function my_method() 
    {
        echo 'I jsut access my_Method';
    }

}

并在config/routes.php

$route['default_controller'] = "";//Default Controller Name
$route['404_override'] = '';

访问您的控制器(上图)

site.com/apadrinhamento/ //this will access index() function
//or
site.com/index.php/apadrinhamento/

如果你想访问其中的方法(URL应该是)

site.com/apadrinhamento/my_method
//or
site.com/index.php/apadrinhamento/my_method
  

注意如果您未放置.htaccess,则网址应为site.com/index.php/apadrinhamento/

答案 1 :(得分:1)

问题在于CodeIgniter v3.0中我们需要编写以大写字母开头的控制器文件名。