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 乌班图ip地址配置及远程SSH
  • ¥15 怎么让点阵屏显示静态爱心,用keiluVision5写出让点阵屏显示静态爱心的代码,越快越好
  • ¥15 PSPICE制作一个加法器
  • ¥15 javaweb项目无法正常跳转
  • ¥15 VMBox虚拟机无法访问
  • ¥15 skd显示找不到头文件
  • ¥15 机器视觉中图片中长度与真实长度的关系
  • ¥15 fastreport table 怎么只让每页的最下面和最顶部有横线
  • ¥15 java 的protected权限 ,问题在注释里
  • ¥15 这个是哪里有问题啊?