CakePHP中URL路由配置中的用户名
我正在尝试创建一个自定义路由,比如mysite.com/username/controller/action/params。基本上,用户经过身份验证后,其用户名会出现在域后的url中 我试过书中的例子,但没有成功 这是我尝试过的,但没有帮助: 路由器::连接('/:username/:controller/:action',array()); 路由器::连接('/:controller/:action',array()) 你们能帮帮我吗 提前感谢,CakePHP中URL路由配置中的用户名,cakephp,routing,Cakephp,Routing,我正在尝试创建一个自定义路由,比如mysite.com/username/controller/action/params。基本上,用户经过身份验证后,其用户名会出现在域后的url中 我试过书中的例子,但没有成功 这是我尝试过的,但没有帮助: 路由器::连接('/:username/:controller/:action',array()); 路由器::连接('/:controller/:action',array()) 你们能帮帮我吗 提前感谢, DenisCake不会自动知道您的路线的:us
DenisCake不会自动知道您的路线的
:username
参数意味着什么。有三个默认参数不需要进一步配置,它们是:
:控制器
:操作
:插件
pass
的数组,以告诉Cake它应该将该参数传递给控制器对此页面的操作。在您的情况下,路线可能如下所示:
Router::connect(
'/:username/:controller/:action',
array(), // Since you already have the controller and action in your URL there is no need for further directions here
array(
'pass' => array('username'), // If you want to pass the username to your action
'username' => '[a-zA-Z0-9]+' // What regex the username should match
),
);
另请参见本书中关于路由的页面,特别是供进一步参考。Hi oldskool,谢谢您的回答。我试过你的例子,读了几遍这本书,但我仍然没有运气,cakePHP没有找到这条路线。例如,在我的布局中,有一个元素正在使用requestAction检索菜单类别(categories/loadCategories)。当我将用户名添加到URL时,cake抛出一个缺少的控制器,并指向“loadCategories”作为缺少的控制器。如果这是特定于cakephp2.0的,我将使用它。谢谢你,丹尼西。。我也有同样的问题。。你解决这个问题了吗。。我需要你的帮助来解决我的问题嗨,困惑的孩子。没有解决这个问题,只是放弃了,从Symfony开始。