Zend_Controller_Router_Route_Regex不工作
我想在应用程序中使用Zend_Controller_Router_Route_Regex,但它似乎并没有工作。Zend_Controller_Router_Route_Regex不工作
我已经建立了一个非常基本的实例:
$route = new Zend_Controller_Router_Route_Regex(
'/developer/test/(d+)',
array('controller' => 'developer', 'action' => 'module','module'=>'topic')
);
$router->addRoute('apiModule2', $route);
和相应的动作:
public function moduleAction()
{
$this->view->module = 'topic';
}
然而,每一次我访问本地主机/开发/测试/ 1,我得到一个没有路线匹配异常。
我相信这是所有设置正确,因为如果我使用相同的确切代码只改变Zend_Controller_Router_Route_Regex到Zend_Controller_Router_route和匹配的URL匹配到'开发/测试/ 1'它都完美。
任何想法可能会发生什么?
谢谢!
正确的路线匹配
是
$route = new Zend_Controller_Router_Route_Regex(
'developer/test/(\d+)',
array('controller' => 'developer', 'action' => 'module','module'=>'topic')
);
你不应该有前导斜杠(开发商前)和d +应该是\ d +。
谢谢emaillenin,我尝试使用更明确的正则表达式(详见修改后的问题),仍然没有运气。不知道为什么它不会匹配任何东西 – djs22
检查我更新的答案 – emaillenin
我不知道是否是这个原因,但是在你的路由中没有正则表达式...试着/开发人员/(测试)/(测试) –
感谢Frederik,但不幸的是在路由中增加了更多的正则表达式,虽然帮助 – djs22