所以我使用zend_router将我的控制器中的索引页面路由到索引操作以外的操作:
$route = new Zend_Controller_Router_Route(
'/controller/:page',
array(
'action' => 'not-index',
'controller' => 'controller',
'page' => 1,
),
);
我之所以添加:页面进入路径的原因是因为该索引中存在分页,即使用户只在浏览器中输入'/ controller',我也希望有paginator工作,所以它有了在那里(见:http://www.joewebster.co.uk/articles/zend-framework/7-zend-pagination-and-zend-router)...
问题是......现在控制器内的其他操作也将重定向到该页面而不是正确的操作
因此假设我向浏览器输入'/ controller / other-action',由于该路由定义,它使用page = other-action而不是'controller / other-action'进入'controller / not-index'。 ...有没有办法将路由器定义中的:页面限制为仅整数,即。如果我输入'/ controller / 2'然后转到'controller / not-index',页面= 2,如果我输入'/ controller / other-action',它实际上会转到'controller / other-action'< / p>
答案 0 :(得分:1)
我想你可能想看一下Regex_router: http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.routes.regex
这应该可以帮助您实现目标。我担心标准的路由器不够灵活。