Zend_Controller_Router_Route_Regex无效

时间:2011-09-21 15:39:01

标签: php regex zend-framework

我正在尝试在应用程序中使用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';
}

但是,每次访问localhost / developer / test / 1时,我都会收到No Route Matched异常。

我相信这一切都设置正确,因为如果我使用相同的确切代码,只将Zend_Controller_Router_Route_Regex更改为Zend_Controller_Router_route,匹配网址与'developer / test / 1'相匹配,则一切正常。

任何想法可能会发生什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

匹配的正确路线

  

http://localhost/developer/test/1

$route = new Zend_Controller_Router_Route_Regex(
                    'developer/test/(\d+)',
array('controller' => 'developer', 'action' => 'module','module'=>'topic')      
);

你不应该有前导斜杠(开发者之前),d +应该是\ d +。