2012-05-06 57 views
2

我使用CakePHP 2.0作为网站的小型管理部分。 如果用户登录正确,我将它们重定向到管理员仪表板。 我这样做如下:CakePHP Router :: url无法正常工作

$this->redirect(Router::url(array('controller' => 'admin', 'action' => 'dashboard'))); 

重定向做是正确的,但由于某种原因它重定向到URL是无法正确生成。该URL为以下结构(注意双[根]在URL部分 - 这是什么是错的):

http://localhost/[root]/[root]/admin/dashboard 

当然,他们是因为此控制器/动作不存在错误。该URL应该关闭这种形式:

http://localhost/[root]/admin/dashboard 

我似乎无法找到确切的问题是什么,因为CakePHP是不是我的核心甜点,是否有任何人可以点我在正确的方向?

谢谢!

+1

您是否尝试过不使用Router :: url()重定向? – elboletaire

+0

我还没有尝试它,因为我知道Router :: url方式应该很好地工作...必须有一个特定的原因,它不工作,我想知道为什么...感谢您的答案虽然! – CGBe

+0

@ www.creative-geeks.com:我也遇到同样的问题。你有没有找到解决方案。 – Cindrella

回答

0

可以简单地用鼠标这样

$这 - >重定向(阵列( '控制器'=> '管理员', '动作'=> '仪表盘'));

0

您可以在Router :: url中使用'full_base'参数。 例如

$url = Router::url(array( 
    'controller' => 'posts', 
    'action' => 'view', 
    'id' => $post[id], 

    'full' => true 
    )); 

这会给你一个完整的基地网址。我在本地主机的子目录中运行CakePHP时发现了这个固定路由问题。

0
$this->redirect("YOUR URL"); 

example $this->redirect('/admins/dashboard'); 

这种方式可以轻松地重定向!