Zend_Controller_Dispatcher_Exception: Invalid controller specified (error) in ***ZendControllerDispatcherStandard.php on line 248

这个错误时,经过分析zend framework的源码发现问题是出现在了根目录上.

我是通过地址http://localhost/Zend_Framework/public/index/访问的,根目录应该是public,但是zend framework将localhost作为了根目录,将Zend_Framework当成了controller名,而将public当成了action.解决办法就是通过虚拟主机将public目录设为地址的根目录.设置方法见apache设置方法.

方法二:修改默认根目录:
$frontController = Zend_Controller_Front::getInstance();
$frontController->setBaseUrl(‘根目录’);
注意根目录就是完整地址,没有主机名.例如果地址是http://localhost//zend_framework/public则根目录设
‘/zend_framework/public’