我可以在蛋糕php中创建像google mail这样的网址吗?

时间:2011-04-07 16:23:54

标签: cakephp routing

嗨大师CakePHP!我想问一些事情。

我认为探测是如此简单,是否有可能在像这样的cakephp应用程序中生成一个url? (这是谷歌邮件,如网址 - http://mail.google.com/a/domain.com

http://www.domain.com/a/[something]/[member]/[controller]/[action]

如果[something]是动态变量,[member]是前缀,[controller]和[action]通常是cakephp url元素。

所以我想把通常的CakePHP网址移到右边,或者在初始网址中插入/ a / something /。 另外,[something]应该从控制器动作中读取

谢谢,你的帮助对我来说非常有价值,并且真的会帮助我

问题v2: 我试图将此路由添加到routes.php

Router::connect('/:code/:something/:controller/:action',
    array(),
    array('code'=>'a','pass'=>array('something'))
);

当我尝试访问http://domain.local/a/pte/users/view时,它可以正常工作,但在我尝试访问http://domain.local/a/pte/users时显示错误

问题v3:

所以简单的问题是:

  

如何在没有破坏的情况下拥有像Google这样的网址(例子如上)   默认的CakePHP路由?

问题v4:(感谢@Rui)

我尝试创建此路由:

Router::connect('/:code/:something/:prefix/:controller/*',
    array(),
    array('code'=>'a','pass'=>array('something'))
);

我尝试访问

时没关系

http://domain.local/a/pte/member/users(结果是cake render member_index视图,这是一个很大的进步:-)),

但有几个问题:

  1. 当我尝试访问http://domain.local/a/pte/users没有前缀成员,我决定显示索引功能时)它失败了(显示AController未定义的错误)
  2. 当我创建链接时

    echo $ html-> link('test link',array('code'=>'a','something'=>'pte','member'=> true,'controller'= > '用户', '动作'=> 'another_view'));

  3. 它生成一个像这样的链接

    http://domain.local/member/users/another_view/code:a/something:pte
    

1 个答案:

答案 0 :(得分:0)

请尝试使用/app/config/routes.php:

<?php 
   Router::connect('/a/:something/:member/:controller/:action/*'); 
?>

行动应该是:

<?php 
    public function action($something = null, $member = null) { 
    /* action code */
    } 
?>

希望它有所帮助。