我使用一个主机名路径捕获的子域,作为一个类别使用。然后我连锁路由器路由的控制器,动作和键/值对。

$hostnameRoute = new Zend_Controller_Router_Route_Hostname(
 ':customer.ddc.:domain',
 array(
  'customer' => ':customer'
 )
);

$routerRoute = new Zend_Controller_Router_Route(
 ':controller/:action/*',
 array(
  'controller' => 'index',
  'action' => 'index'
)
);
$chainedRoute = $hostnameRoute->chain($routerRoute);
$frontController->getRouter()->addRoute('default',$chainedRoute);

我可以捕捉一切除了对URI的键/值对。添加它们使params对象中请求得不到填充。

此工作的: http://category.mydomain.com/controller/action/

这并不: http://category.mydomain.com/controller/action /用户名/坦率

感谢您的任何建议。

有帮助吗?

解决方案 3

有确实链接的路由时,其防止通配符匹配的错误。在bug描述的意见解决这个问题,代码变化的只需要几行是非常有益的。

framework.zend.com/issues/browse/ZF-6654

其他提示

尝试不/*使用。

$routerRoute = new Zend_Controller_Router_Route(
    ':controller/:action',
    array(
        'controller' => 'index',
        'action'     => 'index'
    )
);

12.5.2。使用描述了路由器。

建议的补丁并没有为我工作。我适应了ZF网站上的其他地方发现了另外一个补丁,它似乎运作良好: http://pastie.org/1815135

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top