如果没有routes.php中的条目,如何正确路由Codeigniter项目中的控制器

如果没有routes.php中的条目,如何正确路由Codeigniter项目中的控制器,php,codeigniter,routing,Php,Codeigniter,Routing,我正在从事一个Codeigniter项目,其中有几个控制器:制造商、结果和编辑。我和制造商控制器有问题,所以我打开了routes.php。我发现: $route['default_controller'] = "results"; $route['404_override'] = '404.html'; 没有制造商或编辑的条目。但是,我可以通过导航到适当的URL来查看编辑控制器创建的页面。Codeigniter似乎可以找到Edit,但不能找到制造商。这对我来说很奇怪,因为它们都没有出现在rou

我正在从事一个Codeigniter项目,其中有几个控制器:制造商、结果和编辑。我和制造商控制器有问题,所以我打开了routes.php。我发现:

$route['default_controller'] = "results";
$route['404_override'] = '404.html';
没有制造商或编辑的条目。但是,我可以通过导航到适当的URL来查看编辑控制器创建的页面。Codeigniter似乎可以找到Edit,但不能找到制造商。这对我来说很奇怪,因为它们都没有出现在routes.php文件中。Codeigniter能否自动更正此问题?这是如何工作(或不工作)的,还有其他解释吗

编辑:这听起来像是我在这个页面上遇到的问题,与路由问题无关,而是其他一些问题


编辑:我查看了php日志文件,发现数据库配置有问题。编辑控制器不加载该数据库,因此编辑可以正确运行。为了解决这个问题,我需要将数据库驱动程序从mysql更改为mysqli。

路由看起来像控制器的别名。例如:$route['forget-password']='forgotpassword';forgotpassword是一个控制器,但如果输入了forgotpassword,forgotpassword页面仍然可以打开

您只需要在超级特殊的场合使用路由。您所描述的是CI的预期行为。