Php Zend路由不工作

Php Zend路由不工作,php,zend-framework,zend-route,zend-router,Php,Zend Framework,Zend Route,Zend Router,我正在尝试使用routes.ini和bootstrap设置zend路由,但由于某些原因,它无法按预期进行路由。我的routes.ini和bootstrap.php如下所示 路由。ini [production] routes.guestbook.route = "/guestbook" routes.guestbook.defaults.controller = guestbook routes.guestbook.defaults.action = index bootstrap.php p

我正在尝试使用routes.ini和bootstrap设置zend路由,但由于某些原因,它无法按预期进行路由。我的routes.ini和bootstrap.php如下所示

路由。ini

[production]
routes.guestbook.route = "/guestbook"
routes.guestbook.defaults.controller = guestbook
routes.guestbook.defaults.action = index
bootstrap.php

protected function _initRoutes() 
{

// Get Front Controller Instance

$front = Zend_Controller_Front::getInstance();

// Get Router
$router = $front->getRouter();

$router->addConfig(new Zend_Config_Ini(APPLICATION_PATH.'/configs/routes.ini', 'production'), 'routes');

}

在阅读了您的评论之后,我可以断言您可以删除这些语句(config和bootstrap),因为您想要实现的是zend framework默认路由器的正常行为,除非您使用的是模块


感谢您记得我写下这个细节。

配置路由的最简单方法是使用

配置在
应用程序.ini
文件中,仅此而已,不需要进一步的代码

由于您使用的是静态路由(没有可变路径组件),请在
应用程序.ini
文件中尝试此操作

resources.router.routes.guestbook.type = "Zend_Controller_Router_Route_Static"
resources.router.routes.guestbook.route = "guestbook"
resources.router.routes.guestbook.defaults.module = "default"
resources.router.routes.guestbook.defaults.controller = "guestbook"
resources.router.routes.guestbook.defaults.action = "index"
引导类中删除
\u initRoutes()
方法


此外,这只是一个旁白,但在引导
\u init*
方法中使用其他资源(如前端控制器)时,您必须确保它们已正确引导。要执行此操作,请像这样检索它们

protected function _initSomething()
{
    // make sure resource is bootstrapped
    $this->bootstrap('frontController');

    // retrieve resource
    $front = $this->getResource('frontController');
}

请参见

我希望我的domain.com/guestbook调用我的留言簿控制器和索引操作,但目前它给我500个error.FYI,你的引导文件应该是
bootstrap.php
(大写“B”)@FloydThreepwood你是对的,但我假设不是这样。也许,我想这会让你的答案更完整。我不使用模块。你能详细说明一下删除config和bootstrap语句吗?谢谢你reply@javaadgrid您可以删除您在这里发布的所有代码部分(config.ini的3行)和整个方法_initRoutes(),但是为什么我不能成功地路由它呢?