Code Igniter无法在文件夹下的控制器中识别我的功能

时间:2013-05-19 11:46:33

标签: codeigniter controller routing subcontroller

我的主控制器文件夹下有一个名为admin的文件夹,在该控制器中我有一个文件名admin.php,其函数为xyz。

我想使用此网址

访问该功能

http://localhost/webroot/admin/xyz

然而,当我尝试访问它时,它给了我这个错误。

404 Page Not Found

The page you requested was not found.

这是我的routes.php文件的代码

$default_controller = "welcome";
$controller_exceptions = array('welcome','forum');
$route['default_controller'] = $default_controller;
$route["^((?!\b".implode('\b|\b', $controller_exceptions)."\b).*)$"] = $default_controller.'/$1';
$route['404_override'] = '';
$route['admin'] = "admin/admin";

这是我的.htaccess文件

 RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule .* index.php/$0 [PT,L]  

还启用了mod-rewrite:)

请让我知道为什么它不起作用,我怎样才能使它工作。任何形式的帮助都非常感谢。感谢

1 个答案:

答案 0 :(得分:0)

确保您的路线存储在application/config/routes.php(而不是router.php中,如您的问题中所指定)。尝试添加使用通配符的路由,如下所示:

$route['admin']        = "admin/admin";    //Routes to 'index()' function
$route['admin/(:any)'] = "admin/admin/$1"; //Handles all other cases

:any将匹配包含任何字符的细分,在 admin 细分之后,并将其传递/重新映射到 admin 控制器

用户指南包含有关controllers in sub-foldersrouting的更多信息。