Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Codeigniter 如何在CI中设置自动布线_Codeigniter - Fatal编程技术网

Codeigniter 如何在CI中设置自动布线

Codeigniter 如何在CI中设置自动布线,codeigniter,Codeigniter,我添加了一个名为site.php的简单控制器,如下所示, class Site extends CI_Controller{ function index(){ echo "hello world"; } } 我必须在routes.php中添加新行,如 $route['site'] = 'site'; 这样我就可以在下一步得到结果 我的问题是“http://localhost/class/function/“很简单,为什么CI不自动识别它? 这是否意味着对于我创建的每个控制

我添加了一个名为site.php的简单控制器,如下所示,
class Site extends CI_Controller{
  function index(){
    echo "hello world";
  }
}
我必须在routes.php中添加新行,如

$route['site'] = 'site'; 
这样我就可以在下一步得到结果

我的问题是“http://localhost/class/function/“很简单,为什么CI不自动识别它? 这是否意味着对于我创建的每个控制器,我都必须设置一条路由

谢谢

编辑: 好吧,我刚想出来

在阅读教程时,我在routes.php中添加了以下几行内容:

$route['default_controller'] = 'pages/view';
$route['(:any)'] = 'pages/view/$1';

因此,默认路由规则被覆盖。在我看来,在routes.php中添加$route['(:any')是个坏主意。评论说这条线解决了我的问题

您使用的是哪一版本的CI?只要您使用RewriteRule.aidas正确设置了.htaccess文件,它就应该能够识别这种URL“”-我认为.htaccess用于将“/class/function”重定向到“index.php/class/function”,我使用的是最新版本2。1@AdamC.:一般来说,.htaccess文件用于删除
index.php
文件,以使默认的
site.com/index.php/class/function/ID
变为
site.com/class/function/ID
,而不是相反。