CakePHP Router :: url无法正常工作

时间:2012-05-06 18:33:09

标签: php routing cakephp-2.0

我正在将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不是我的核心甜点,有没有人可以指出我正确的方向?

谢谢!

4 个答案:

答案 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'));