结块路由和url重写

结块路由和url重写,url,cakephp,url-rewriting,routes,cakephp-1.2,Url,Cakephp,Url Rewriting,Routes,Cakephp 1.2,我的路线声明如下: Router::connect('/profile/', array('controller' => 'accounts', 'action' => 'profile')); Router::connect('/accounts/:action/*', array('controller' => 'accounts')); Router::connect('/:username', array('controller' =>

我的路线声明如下:

    Router::connect('/profile/', array('controller' => 'accounts', 'action' => 'profile')); 
    Router::connect('/accounts/:action/*', array('controller' => 'accounts'));
    Router::connect('/:username', array('controller' => 'accounts', 'action' => 'profile'), array('pass' => array('username')));
我所有的链接都是通过Cake的$html->url api调用创建的。当url仅为[domain]/accounts/profile并且被正确重写为[domain]/profile时,路由工作正常

但是,当我使用$html->url(数组('controller'=>'accounts','action'=>'profile',$username),true)创建链接时,url写的是[domain]/accounts/profile/:username,而不仅仅是[domain]/:username

我如何使它成为[domain]/:username?

试试看

Router::connect('/:username', array('controller' => 'accounts', 'action' => 'profile'), array('pass' => array('username')));
Router::connect('/profile/', array('controller' => 'accounts', 'action' => 'profile')); 
Router::connect('/accounts/:action/*', array('controller' => 'accounts'));
试试看

Router::connect('/:username', array('controller' => 'accounts', 'action' => 'profile'), array('pass' => array('username')));
Router::connect('/profile/', array('controller' => 'accounts', 'action' => 'profile')); 
Router::connect('/accounts/:action/*', array('controller' => 'accounts'));