我正在开发一个CakePHP 2.1项目,我对管理面板的“主页”有一个问题。
当我输入:mysite.com/admin 我有一条消息告诉我“无法找到AdminController”。
我在config / routes.php中宣布了这条路线:
Router::connect('/admin', array('controller' => 'mycontroller', 'action' => 'index', 'admin' => true));
当我输入mysite.com/admin/mycontroller作为URI时,它可以工作。 你有什么想法吗?
提前谢谢。
编辑|我的routes.php文件:`
/**
* Here, we are connecting '/' (base path) to controller called 'Pages',
* its action called 'display', and we pass a param to select the view file
* to use (in this case, /app/View/Pages/home.ctp)...
*/
Router::connect('/', array('controller' => 'pages', 'action' => 'display', 'home'));
/**
* ...and connect the rest of 'Pages' controller's URLs.
*/
Router::connect('/pages/*', array('controller' => 'pages', 'action' => 'display'));
/**
* Load all plugin routes. See the CakePlugin documentation on
* how to customize the loading of plugin routes.
*/
CakePlugin::routes();
/**
* Load the CakePHP default routes. Only remove this if you do not want to use
* the built-in default routes.
*/
require CAKE . 'Config' . DS . 'routes.php';
// Custom routes
Router::connect('/admin', array('controller' => 'jobapplications', 'action' => 'index', 'admin' => true));
答案 0 :(得分:1)
如所怀疑的那样,存在冲突的路线,即核心提供的the default routes,您通过
包括require CAKE . 'Config' . DS . 'routes.php';
在定义/admin
路线之前。
默认设置可以连接各种可以隐藏你的路线,例如:
Router::connect("/{$prefix}/:controller", $indexParams);
或
Router::connect('/:controller', array('action' => 'index'));
长话短说,订单很重要,将您的路线定义移到包含默认路线之上。