我有一条路线将'items'模块重命名为'products',它在大多数情况下都有效,但在url中没有明确设置控制器或动作时则不行。例如,example.com/products
不起作用,而example.com/items
起作用,并且与example.com/products/index/index
相同。任何想法如何解决它,或使控制器和操作可选?
$router->addRoute('item-alias', new Zend_Controller_Router_Route('products/:controller/:action', array(
'module'=>'items'
)));
修改
当我将其更改为
时似乎有效$router->addRoute('item-alias', new Zend_Controller_Router_Route('products/:controller/:action/*', array(
'module'=>'items'
'controller'=>'index',
'action'=>'index'
)));
'*'允许附加其他可选参数,例如example.com/products/index/index/page/2
答案 0 :(得分:1)
设置控制器和操作的默认值。这样它们就是可选参数,可以跳过。