我正在将CakePHP 2.0用于网站的小型管理部分。 如果用户已正确登录,我会将其重定向到管理员仪表板。 我这样做如下:
$this->redirect(Router::url(array('controller' => 'admin', 'action' => 'dashboard')));
重定向完成正确,但由于某种原因,重定向到的URL未正确构建。 URL采用以下结构(请注意URL中的双[root]部分 - 这是错误的):
http://localhost/[root]/[root]/admin/dashboard
当然显示错误,因为此控制器/操作不存在。网址应该不在此格式:
http://localhost/[root]/admin/dashboard
我似乎无法找到确切的问题,因为cakePHP不是我的核心甜点,有没有人可以指出我正确的方向?
谢谢!
答案 0 :(得分:0)
你可以这么简单地
$ this-> redirect(array('controller'=>'admins','action'=>'dashboard'));
答案 1 :(得分:0)
您可以在Router :: url中使用'full_base'参数。 例如
$url = Router::url( array(
'controller' => 'posts',
'action' => 'view',
'id' => $post[id],
'full' => true
) );
这将为您提供完整的基本网址。当我在localhost的子目录中运行CakePHP时,我发现了这个固定的路由问题。
答案 2 :(得分:0)
$this->redirect("YOUR URL");
example $this->redirect('/admins/dashboard');
这样你就可以轻松重定向了!
答案 3 :(得分:0)
您可以对此进行纠正
Router::connect('/', array('controller' => 'users', 'action' => 'index'));