2012-05-06 53 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'); 

這種方式可以輕鬆地重定向!