我最近开始了一个新的 zend 框架项目。我通过 ZF 工具创建了所有 db-table 模型、模型、控制器、操作、表单和启用的布局。我创建的所有项目都显示在 .zf-project.xml 中。
然后我开始为默认布局设置第一个页眉和页脚。此布局的底部是页脚导航部分,其中包含多个链接,例如:
<a href="/howitworks">How it Works</a>
单击它时,它应该导航到索引控制器/howitworksAction,但它没有。相反,我收到一条错误消息:
Message: Invalid controller specified (howitworks)
**Stack trace:**
#0 /usr/share/php/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))
#1 /usr/share/php/Zend/Application/Bootstrap/Bootstrap.php(97): Zend_Controller_Front->dispatch()
#2 /usr/share/php/Zend/Application.php(366): Zend_Application_Bootstrap_Bootstrap->run()
#3 /var/www/vhosts/lokals.mediagiantdesign.com/httpdocs/public/index.php(26): Zend_Application->run()
#4 {main}
Request Parameters:
array (
'controller' => 'howitworks',
'action' => 'index',
'module' => 'default',
)
如果我将 URL 强制为 /index/howitworks,它可以正常工作。我完全被这个抛弃了,因为这是我在曾经发生过这种情况的地方构建的第一个 Zend 应用程序。在以前的应用程序中,这种链接开箱即用。我还没有设置自定义路由器,引导程序是准系统。所以我不知道为什么这不起作用。
我认为zend首先寻找一个匹配控制器的控制器,如果没有找到它会在索引中寻找一个匹配的动作,如果没有找到,它会假设它是/public中的一个文件。如果是这样,那么我在这里缺少什么?
提前致谢。瑞克