0
我面臨着一些問題,重寫CakePHP的網址CakePHP的URL重寫不是在路由器文件
這裏正常工作是我的網址:
domain.com/users/members/mygroup
domain.com/users/admins/mygroup
我想重寫這
domain.com/mygroup/members
domain.com/mygroup/admins
我已經嘗試了下面的代碼,但它不工作 在routes.php我創建了以下路線
Router::connect('/:groupname/:members', array('controller' => 'users', 'action' => 'members'),array('pass' => array('groupname')));
Router::connect('/:groupname/:admins', array('controller' => 'users', 'action' => 'admins'),array('pass' => array('groupname')));
這裏是鏈接:
<?php echo $this->html->link('Members',array('controller'=>'users','action'=>'members','groupname'=>$groupdata['Group']['group_slug'],'members'=>members),array('escape'=>false,'class'=>'links','id'=>'memlink'));?>
<?php echo $this->html->link('Admin',array('controller'=>'users','action'=>'admins','groupname'=>$groupdata['Group']['group_slug'],'admins'=>admins),array('escape'=>false,'class'=>'links','id'=>'admnlink'));?>
當我創建這樣的路線,第一路由即會員路由工作正常,但第二路由管理是行不通的,它的採摘成員的行動和執行成員方法,但URL顯示正確,只有行爲是錯誤的。
我該如何解決這個問題。
感謝您的代碼,我試過,但沒有工作,當我點擊管理員鏈接將我帶到會員頁面。它正在執行路由器文件中的第一個動作,此處成員的動作是第一個動作。我想知道爲什麼我不檢查這個動作。 – user1851420
Thanksss ...我已經試過了,在這種情況下,它將/:groupname視爲操作,所以它給出錯誤MissingActionException。如果我使用這樣的話,它工作得很好** Router :: connect('/ users /:groupname /:action',array('controller'=>'users','action'=>'members'),array 'pass'=> array('groupname'))); **但是對於我來說,控制器名稱不應該出現在url – user1851420
中,一旦再次檢查我的編輯,如果它不工作意味着你的路由受到其他路由設置.. –