我在bootstrap.php文件
中编写了以下代码 protected function _initRoutes() {
$routers = Zend_Controller_Front::getInstance()->getRouter();
$adminadd = new Zend_Controller_Router_Route('/:cityadd/', array('module' => 'user', 'controller' => 'city', 'action' => 'add'));
$routers->addRoute('addcity', $adminadd);
$routing = Zend_Controller_Front::getInstance()->getRouter();
$adminedit = new Zend_Controller_Router_Route('/:cityedit/', array('module' => 'user', 'controller' => 'city', 'action' => 'edit'));
$routing->addRoute('edit-city', $adminedit);
}
我的项目名称是demo
在我的浏览器中,当我输入URL http://localhost/demo/public/cityadd
时,打开的页面是添加操作页面,即
View script for controller City and script/action name add
当我输入URL http://localhost/demo/public/cityedit
时,打开的页面也是添加动作页面,即
View script for controller City and script/action name add
必须重定向到View script for controller City and script/action name edit
为什么打开相同的页面,或者为什么对于给定的URL,页面被重定向到相同的操作
问题是你在路由中使用了变量。变量前面有一个冒号。一个只包含一个变量的路由几乎可以匹配任何东西。
试着写不带冒号的路由:
protected function _initRoutes()
{
$routers = Zend_Controller_Front::getInstance()->getRouter();
$adminadd = new Zend_Controller_Router_Route('/cityadd/', array('module' => 'user', 'controller' => 'city', 'action' => 'add'));
$routers->addRoute('addcity', $adminadd);
$routing = Zend_Controller_Front::getInstance()->getRouter();
$adminedit = new Zend_Controller_Router_Route('/cityedit/', array('module' => 'user', 'controller' => 'city', 'action' => 'edit'));
$routing->addRoute('edit-city', $adminedit);
}