unable to load your default controller on Codeigniter

非 Y 不嫁゛ 提交于 2019-12-13 03:36:22

问题


This is the error that i am getting.

Please make sure the controller specified in your Routes.php file is valid.

Let me explain this. In my application i have used HMVC. In my application folder there are two folders back-modules and front-modules.in my front-modules folder there is a folder called "home" and it has controllers,modules and views.

controllers->home.php

this is my home.php

  class Home extends MX_Controller{
    public function __construct(){
    parent::__construct();
    $this->load->helper(array('form'));
  }

    public function index(){                
    $this->template->build('home');
   }
  }

and this is my routes.php

$route['default_controller'] = "home";
$route['404_override'] = '';

when i try to go to the site, it gives this error

unable to load your default controller on Codeigniter.Please make sure the controller specified in your Routes.php file is valid.

this system works fine on localhost.

Someone please help me in this matter.


回答1:


Typically there is a one-to-one relationship between a URL string and its corresponding controller class/method. The segments in a URI normally follow this pattern:

example.com/class/function/id/

your 'default_controller' should be:

$route['default_controller'] = "home/index";

read official CodeIgniter URI Routing Documentation




回答2:


Kindly Check .htaccess file exist or not in root place of your website.

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?$1



回答3:


Some times codeigniter won't find the controller.

Go to config > routers.php

and see the value of default_controller make a controller in controllers folder with the same value.




回答4:


According to codegniter manual managing multi application

in your index.php file change

$application_folder = 'application';

to

$application_folder = 'application/home';

and make sure the controller file name starts with capital letter

controllers->Home.php

and keep Routes.php configurations

$route['default_controller'] = "home";


来源:https://stackoverflow.com/questions/25686196/unable-to-load-your-default-controller-on-codeigniter

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!