我的路线有问题。
因此,假设我有一个带有操作edit的TestController,它获取一个名为“name”的参数。
访问 url 将是test.com/test/edit/name/randomname。
我想让它可以被test.com/test/edit/randomname访问,所以我在 Bootstrap 的函数 _initRoutes 中添加了它。
$router = Zend_Controller_Front::getInstance()->getRouter();
$route = new Zend_Controller_Router_Route(
'test/edit/:name',
array('controller' => 'test', 'action' => 'edit', 'name' => 'Default'));
$router->addRoute('edit-test', $route);
所以它可以按我的意愿工作,但是发生了另一个问题。我在 layout.phtml 中有一个链接,类似于
<a href="<?php echo $this->url(array('controller' =>'account','action'=>'logout'));?>">Logout</a>
问题是当我导航到test.com/test/edit/randomname时,上面的链接由于某种奇怪的原因发生了变化并指向与上面相同的 url,即test.com/test/edit/randomname。
怎么了?
注意:我使用模块,TestController 在默认模块中。