CodeIgniter 2.x和3.x修改默认控制器问题解答

Posted 寻觅beyond

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CodeIgniter 2.x和3.x修改默认控制器问题解答相关的知识,希望对你有一定的参考价值。

首先明确一点,CodeIgniter框架的2.x和3.x版本中修改默认控制器是有一点区别的

但相同的操作都是修改application/config/routes.php

$route[‘default_controller‘] = "welcome";

welcome为默认的控制器,通过该值来达到修改默认控制器的目的。假如我要把默认控制器设为home,只需要

$route[‘default_controller‘] = "home";
//$route[‘default_controller‘] = "home.html";

默认的扩展名是.php,如果扩展名不是.php的话,请加上扩展名,如上面代码的第二行。

有时候,可能控制器太多了,为了方便,一般都创建几个文件夹来保存控制器,但是,这个时候,修改默认控制器的时候,你就得小心了

因为在CodeIgniter 2.x中设置默认控制器时支持包含路径,即支持包含一级目录,而且只支持一级目录,即  目录/控制器名

比如在application/controller/下有一个test目录,test目录下有一个home控制器,要将该home目录设为默认控制器可按照下面代码完成

$route[‘default_controller‘] = "test/home";

注意下:目录名中不要包含点 ‘.‘   ,不然点后面的一段就会当成控制器,然而,你并没有那个控制器 

 

重点来了:CodeIgniter 3.x是不支持设置默认控制器时用一级目录的形式,即上面的代码并不会管用,

你只能在那个位置填控制器名,而不能有目录

不然,即使你填了一级目录,那你访问的时候显示的也是404错误

 

以上是关于CodeIgniter 2.x和3.x修改默认控制器问题解答的主要内容,如果未能解决你的问题,请参考以下文章

不存在 URI。默认控制器集。 Codeigniter 3.1.9 和 PHP 7.0

CodeIgniter 只执行默认控制器

Codeigniter Ion Auth 编辑用户表

hdu 4578 Transformation 线段树

如何在构建定义中更改 Play 2.3.x 中的默认端口 9000?

路由不起作用codeigniter