为什么这个控制器不能在代码点火器版本3.0.1中工作?

时间:2015-10-01 06:12:42

标签: php codeigniter

class Users extends CI_Controller{

    public function index(){
        echo 'hello';
    }
}

我将文件名保存为Users.php,但仍无效。

3 个答案:

答案 0 :(得分:1)

请考虑 Codeigniter命名转换

config.php

中的

$config['base_url'] = '';
$config['index_page'] = '';

.htaccess放在应用程序文件夹

之外
<IfModule mod_rewrite.c>
    RewriteEngine On
    RewriteCond %{REQUEST_FILENAME} !-f
    RewriteCond %{REQUEST_FILENAME} !-d
    RewriteRule ^(.*)$ index.php/$1 [L] 
</IfModule>

routes.php

中的

$route['default_controller'] = "users";//default controller name

并在网址

http://localhost/<path to file>/project_name/users
  

注意: 您无法使用.php.html等任何文件扩展名访问网址。

答案 1 :(得分:0)

在班级中启动合同功能

class Users extends CI_Controller{

    public function __construct(){
        parent::__construct();
    }

    public function index(){
        echo 'hello';
    }
}

将网址设为example.com/index.php/users/

答案 2 :(得分:0)

这可能会帮助你:

- &GT;应用程序/配置/ routes.php文件

$route['default_controller'] = 'pages/homePage';

- &GT; app / controllers / Pages.php(注意文件中的大写字母P)

<?php defined('BASEPATH') OR exit('No direct script access allowed');

class Pages extends MY_Controller {//Note the capital Class name
    public function homePage()
    {
        $this->load->view("pages/homepage.php");
    }
}

另外要摆脱index.php,请执行以下操作:

- &GT;应用程序/配置/ config.php中

$config['index_page'] = '';

在app文件夹外创建一个名为“.htaccess”的文件,并将以下代码放入其中:

Options +FollowSymLinks
RewriteEngine On

RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L]

这个HTaccess来自另一个名为Laravel的PHP框架,它似乎比他们在网站上提供的标准CI的HTaccess更好。

我希望这可以帮助你。