Cakephp路由前缀

时间:2012-07-28 22:18:44

标签: cakephp routes

我的应用程序有3种不同的布局,与不同的内容部分有关。 我想要定义我的url-s,这样他们就可以在开头的那个部分。 “mypage.com/part1/controller / ...”。 我不知道如何改变路线以使其成为可能。

P.S。我不想要普通的前缀路由,我的控制器操作的名称会发生​​变化。

2 个答案:

答案 0 :(得分:0)

阅读以下网址

对于CakePHP 2.x http://book.cakephp.org/2.0/en/development/routing.html#prefix-routing

对于CakePHP 1.x. http://bakery.cakephp.org/articles/Frank/2009/11/02/cakephp-s-routing-explained

或者

Configure::write('Routing.prefixes', array('admin', 'manager'));

$this->connect("/{$prefix}/:plugin/:controller", array('action' => 'index', 'prefix' => $prefix, $prefix => true));
$this->connect("/{$prefix}/:plugin/:controller/:action/*", array('prefix' => $prefix, $prefix => true));
Router::connect("/{$prefix}/:controller", array('action' => 'index', 'prefix' => $prefix, $prefix => true));
Router::connect("/{$prefix}/:controller/:action/*", array('prefix' => $prefix, $prefix => true));

答案 1 :(得分:0)

在cakephp中将多个前缀与路由集成非常容易

在cakephp 2.x中,您必须执行以下步骤

  1. 转到app / Config / core.php并添加以下行:Configure :: write('Routing.prefixes',array('admin','manager'));
  2. 现在你必须为此写一个路由到app / Config / routes.php添加以下行
  3. 路由器::连接( “管理员/:控制器”,阵列( '动作'=> '索引', '管理员'=>真));
  4. 路由器::连接( “管理员/:控制器/:动作/ *”,阵列( '管理员'=>真));
  5. 路由器::连接( “管理员/:控制器”,阵列( '动作'=> '索引', '经理'=>真));
  6. 路由器::连接( “管理员/:控制器/:动作”,阵列( '经理'=>真));
  7. 有关详细信息,请参阅以下链接 http://book.cakephp.org/2.0/en/development/routing.html http://miftyisbored.com/complete-tutorial-admin-routing-cakephp/