Zend framework Zend Framework如何禁用控制器

Zend framework Zend Framework如何禁用控制器,zend-framework,zend-controller-router,Zend Framework,Zend Controller Router,当我放置这个addres example.com/js/config时,我需要为js加载一个配置文件,但是路由器加载了一个控制器并显示错误,因为控制器不存在。在引导文件中,我放置了一个_init方法: protected function _initJsConfig(){ $this->bootstrap('frontController'); $oFront = $this->getResource('frontController'); $oFront-

当我放置这个addres example.com/js/config时,我需要为js加载一个配置文件,但是路由器加载了一个控制器并显示错误,因为控制器不存在。在引导文件中,我放置了一个_init方法:

 protected function _initJsConfig(){
    $this->bootstrap('frontController');
    $oFront = $this->getResource('frontController');
    $oFront->setRequest(new Zend_Controller_Request_Http());
    $oRequest = $oFront->getRequest();
    $oRequest->setDispatched(false);
    //$oFront = Zend_Controller_Front::getInstance()->getRequest();
    if($oRequest->getControllerName() == 'js' && $oRequest->getActionName() == 'config'){
        include('/config/config.js.php');

        return;
    }
}
但这不起作用。有什么想法吗?
致以最良好的祝愿

默认的ZF
.htaccess
将不提供
.php
文件,而不是
public
文件夹中的
index.php
,因此将
.php
文件移出公共空间

把它放在
应用程序/configs
或类似的地方


您可能会修改
.htaccess
以只提供一个
.php
文件,但您确实不希望服务器上的公共空间中存在任意
.php
文件

如果控制器不存在,但请求仍被路由到ZF,我猜服务器上不存在文件
js/config
,或者ZF的.htaccess规则设置得不太正确。我知道我可以编辑.htaccess文件以禁用路由,但我想隐藏一个文件,这样就没有人能看到它的扩展名(.php)。因此,当我写下以下内容时:我想开始:config.js.php文件。致以最良好的祝愿。您的代码在引导程序中不起作用,因为尚未建立路由,也未进行调度。您可以编写一个包含与您所拥有的类似代码的代码,因为您可以在控制器实际调度之前拦截它和操作(发送到不存在的控制器,然后处理错误)。