duanlanqian9974 2015-10-28 10:31
浏览 33
已采纳

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

I have a legacy application built in CakePHP 2.2.3

One part of the application has controller file which has been named SymposiumsController.php. This resulted in URL's such as:

domain.com/symposiums
domain.com/symposiums/view/23

The problem is that 'symposiums' isn't a real (English language) word; it should be 'symposia'.

I want to rename my URL's so they are like this:
domain.com/symposia
domain.com/symposia/view/23

I tried to do this by editing app/Config/Routes.php to use this:

Router::connect('symposia/:action', array('controller' => 'symposiums'));

However all this does is redirects domain.com/symposia to domain.com/symposiums which therefore makes no difference to what the user sees in the URL.

To put it simply I don't want 'symposiums' exposed anywhere in my URLs. I want them all to use 'symposia' in it's place.

I read http://book.cakephp.org/2.0/en/development/routing.html but can't see how to do this. Does anyone have a solution? Surely I don't have to rename controllers/models and DB tables to do this?

I don't know if this makes a difference but I also have admin routing switched on so my SymposiumsController.php also has functions such as:

admin_add()
admin_delete()
admin_edit($id)

Any help is appreciated.

  • 写回答

1条回答 默认 最新

  • dscizpq790832708 2015-10-28 12:39
    关注

    Here is the code for this specific redirection:

    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
    

    But if you need to redirect more than one action then I suggest you to rename the controller.

    Note: If you rename the controller or create new Routers then you would need to make sure in the all application modify the link to new controller name.

    Source: Cakephp Router

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 数学的三元一次方程求解
  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题