我正在用 开发一个小app
的framework CodeIgniter
,但是在调用文件夹时遇到了问题controladores
,我发现了一些与该主题相关的其他问题,但我没有在其中任何一个中找到解决方案。
有趣的是,我可以调用主文件夹中的controladores
那些,它们会自动执行. 我不知道我需要什么配置才能访问文件夹中的配置。raíz
Controllers
index
controladores
我显示我当前的配置(versión CodeIgniter 3.1.10)
:
路线.php:
//(Este controlador "Login" por default sí funciona, ya que se encuentra
//en la raíz de la carpeta Controllers)
$route['default_controller'] = 'Login';
$route['404_override'] = '';
配置.php:
$config['base_url'] = 'http://localhost:8080/proyecto';
$config['index_page'] = 'index.php';(por defecto)
自动加载.php:
$autoload['libraries'] = array('session','database');
$autoload['helper'] = array('url','form');
有效的控制器调用:(我包括一个.htaccess
不在index.php
url中写的)
控制器调用显示 404 错误:
被controlador
调用Home.php
并且在它的类Home
中,我认为我没有做正确的事情,我将该控制器复制到raíz
并像这样调用它:
它成功地运行了索引,但是从它没有的文件夹中,它向我显示了error 404
. 我一直在寻找解决方案,但找不到清晰准确的信息。
您可以阅读有关启用查询字符串的 CI 手册,但我更喜欢这种路由方式(也在 CI 文档中)在这篇文章中进行了非常详尽的解释:
http://blog.biernacki.ca/2011/12/codeigniter-uri-routing-issue-with-controller-folders/
例子:
我通过重命名文件夹进行了一些测试并且它有效,我发现它
CodeIgniter
区分大小写,所以我的控制器一直做得很好(第一个字母大写),但出于某种奇怪的原因,包含文件夹也必须有它的第一个字母大写,例如:如您所见,在前一种情况下,文件夹和控制器都以大写字母开头,这样它就可以正确执行并且不显示
error 404
.但是,我也尝试在文件夹和控制器中以及在其初始为大写的控制器类中以小写字母编写所有内容,并且它也有效,例如:
这就是解决我的问题的方法,如果其他人有同样的问题,您可以尝试这样做。
笔记:
在某些情况下,可能会根据具体情况再次创建文件夹或驱动程序。