我在CakePHP 2.2.3中构建了一个遗留应用程序
应用程序的一部分具有控制器文件,该文件名为SymposiumsController.php。这导致URL的如下所示:
domain.com/symposiums
domain.com/symposiums/view/23
问题是,“专题讨论会”不是一个真正的(英语)词,它应该是“专题讨论会”。
我想重命名我的URL,所以它们是这样的:
domain.com/symposia
domain.com/symposia/view/23
我试图通过编辑app/Config/Routes.php来实现这一点:
Router::connect('symposia/:action', array('controller' => 'symposiums'));
然而,所有这些都是将domain.com/symposia
重定向到domain.com/symposiums
,因此对用户在URL中看到的内容没有任何影响。
简单地说,我不想让“专题讨论会”暴露在我的网址上的任何地方。我要他们都在这里用“专题讨论会”。
我读过http://book.cakephp.org/2.0/en/development/routing.html,但不知道怎么做。有人有解决办法吗?当然,我不一定要重命名控制器/模型和DB表才能做到这一点?
我不知道这是否有区别,但我也打开了管理路由,所以我的SymposiumsController.php也有如下功能:
admin_add()
admin_delete()
admin_edit($id)
任何帮助都是非常感谢的。
发布于 2015-10-28 12:39:18
以下是此特定重定向的代码:
Router::connect('/:controller/:action/:id',
array('controller' => 'symposiums', 'action' => 'view', 1)
);
:controller => Give the name new name of controller e.g. symposia
:action => Give the name new name of action e.g. view
:id => Give the name new name of controller e.g. 23
但是,如果您需要重定向多个操作,那么我建议您重命名控制器。
注意:如果您重命名控制器或创建新路由器,则需要确保在all应用程序中修改指向新控制器名称的链接。
来源:Cakephp路由器
https://stackoverflow.com/questions/33388644
复制相似问题