无法找到我的解决方案。希望你能帮忙。
我想要一个网址(如twitter)www.domain.com/USERNAME
它发生在错误控制器上的是什么。我想让它在这些情况下转到不同的控制器。某种默认控制器,如果没有找到。
赞赏一个小例子或任何信息。
谢谢,
答案 0 :(得分:2)
您应该为此创建自定义路线:
:username
但请确保先添加此路线,以便以下路线可以匹配。有关自定义旋转的信息,请参阅路由器的文档:
http://framework.zend.com/manual/en/zend.controller.router.html#zend.controller.router.routes
答案 1 :(得分:0)
使用以下内容。
将此代码放在引导程序中。
$front = $this->getResource("frontController");
$front = Zend_Controller_Front::getInstance();
$router = $front->getRouter();
$route = new Zend_Controller_Router_Route('/:username', array('controller' => 'index','action' => 'user'));
$router->addRoute('minipage', $route);
另一种方法是将规则放在config.ini中:
routes.router.type = "Zend_Controller_Router_Route"
routes.router.route = "/:username"
routes.router.defaults.controller = "index"
routes.router.defaults.action = "minipage"
;rules for the exception to the above rulles.
routes.indexItem.type =Zend_Controller_Router_Route
routes.indexItem.route = cms
routes.indexItem.defaults.controller = cms
routes.indexItem.defaults.action = index
routes.indexItem2.type =Zend_Controller_Router_Route
routes.indexItem2.route = policy
routes.indexItem2.defaults.controller = policy
routes.indexItem2.defaults.action = index
routes.indexItem3.type =Zend_Controller_Router_Route
routes.indexItem3.route = index
routes.indexItem3.defaults.controller = index
routes.indexItem3.defaults.action = index
使用
从引导程序加载它$前置式> getRouter() - > addConfig(new Zend_Config_Ini(APPLICATION_PATH。“/ configs / nutes.ini”),“routes”);