zend默认控制器操作,然后转到错误

时间:2010-08-23 09:21:27

标签: php zend-framework

无法找到我的解决方案。希望你能帮忙。

我想要一个网址(如twitter)www.domain.com/USERNAME

它发生在错误控制器上的是什么。我想让它在这些情况下转到不同的控制器。某种默认控制器,如果没有找到。

赞赏一个小例子或任何信息。

谢谢,

2 个答案:

答案 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”);