我想重新路由所有domainname.com/affiliateXYZ访问AffController重新路由操作。但是如何?CakePhp路由与控制器通配符
'affiliate'的route元素子串将是一致的,子串'XYZ'会有所不同。
我会一直首选曾允许该项目要求domainname.com/aff/reroute/XYX(或domainname.com/aff/reroute/CigarKing)控制器/动作/参数格式,但唉..不是这样的。
起初我尝试以下失败:
Router::connect('/affiliate*', array('controller' => 'aff', 'action' => 'reroute'));
Router::connect('/affiliate**', array('controller' => 'aff', 'action' => 'reroute'));
Router::connect('/:controller*', array('controller' => 'aff', 'action' => 'reroute'), array('controller'=>'(affiliate)');
一旦控制器重新路由的行动,我会爆炸affiliateXYZ逼到“XYZ”,然后事情我知道该怎么做进行。我的问题是路由到控制器与affiliateXYZ作为第一个路由元素,同时不搞乱当前的功能。
我曾使用Router::connect('/:affiliate', array('controller' => 'aff', 'action' => 'reroute'),array('pass'=>array('affiliate')));
到控制器的信息,直到我看到了对先前存在的控制器的负面影响(我假设,因为我没有明确列出所有其他控制器,我认为我不应该有去做。)。
如何路由w /前缀(更准确地说'子公司'的子字符串)?
我知道前缀是错误的术语。
Thx,提前。
Thx ndm。它不仅与你描述的功能完全一样,而且比我基于[http://lecterror.com/articles/view/advanced-routing-with-cakephp-one-example]实现的冗长的选择更简洁正则表达式是我的问题。很高兴能坚持w /路由器:按照您的建议连接使用率,而不是在控制器上循环,然后在lecterror.com上使用负面正则表达式 – user3062784