ZF路线重写错误


ZF wrong route rewrite

我的layout.phtml中有两个链接,引导程序中有一个路由:

1. Link:
echo $this->url(array('controller' => 'aktuelles', 'action' => 'index'), null, true );
// creates: http://localhost/aktuelles
2: Link
echo $this->url(array('controller' => 'projekte', 'action' => 'wohnen', 'projektId' => 26), 'projekte-galeria', false);
// creates: http://localhost/projekte/wohnen/26
Route:
$front = Zend_Controller_Front::getInstance();
$router = $front->getRouter();
$route = new Zend_Controller_Router_Route(  'projekte/wohnen/:projektId', 
                                            array(  
                                                    'module' => 'web',
                                                    'controller' => 'projekte',
                                                    'action' => 'wohnen',
                                                    'projektId' => null)
                                            );                  
$router->addRoute(  'projekte-galeria', $route); 

当我加载页面时,所有内容都显示正确,URL都是正确的。

问题:我一点击第二个链接(http://localhost/projekte/wohnen/26),第一个链接正在更改:

来自:localhost/aktueles

收件人:localhost/projekte/wohnen

为什么链接被更改?

尝试强制使用默认路由:在第一个url中使用'default'作为第二个参数,而不是null

BTW-第二个url中的部分'controller' => 'projekte', 'action' => 'wohnen'是多余的,因为您在路由中预定义了这些参数。第二个环节可以简化如下:

echo $this->url(array('projektId' => 26), 'projekte-galeria', false);

将此解决方案视为处理Zend Framework 中的路由简单重写的替代方法