首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >CakePHP -更改URL中的控制器名称

CakePHP -更改URL中的控制器名称
EN

Stack Overflow用户
提问于 2015-10-28 10:31:10
回答 1查看 1.5K关注 0票数 1

我在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)

任何帮助都是非常感谢的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-10-28 12:39:18

以下是此特定重定向的代码:

代码语言:javascript
运行
复制
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路由器

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33388644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档