无法到达新的zend控制器/视图

时间:2010-03-13 23:31:59

标签: zend-framework routing

我安装了包含1.9框架的Zend Studio 7.1.1。 对于服务器端,我使用easyphp(非常类似于wamp)

当我创建项目时,我显然获得了这种架构:

MyProject
|-- application
|   |-- Bootstrap.php
|   |-- configs
|   |   `-- application.ini
|   |-- controllers
|   |   |-- ErrorController.php
|   |   `-- IndexController.php
|   |-- models
|   `-- views
|       |-- helpers
|       `-- scripts
|           |-- error
|           |   `-- error.phtml
|           `-- index
|               `-- index.phtml
|-- library
|-- public
|   |-- .htaccess
|   `-- index.php
`-- tests
    |-- application
    |   `-- bootstrap.php
    |-- library
    |   `-- bootstrap.php
    `-- phpunit.xml

要启动项目,请输入:

http://127.0.0.1/MonProjet/public/index.php

但是当我创建一个新的控制器(TestController.php)和相关的视图(application.views / test / index.phtml)时,当我输入时:

http://127.0.0.1/MonProjet/public/test

浏览器返回错误:找不到对象(404)。

虽然我激活了mod_rewrite

LoadModule rewrite_module modules/mod_rewrite.so

那么,如何设置路由机制以达到新控制器及其视图?

非常感谢, 问候。

2 个答案:

答案 0 :(得分:1)

问题问题已经有一段时间了,但不过可能有人还在面对这个问题。我今天遇到了同样的问题,结果发现在httpd.conf中的apache配置中,“AllowOverride”被设置为“none”,因此无法读取.htaccess。将其更改为“全部”解决了这个问题。

答案 1 :(得分:0)

您的index.php文件具有Autoloader类调用,可自动加载所有控制器和模型。

除此之外,您还可以在BootStrap.php文件中添加此代码。

protected function _initAutoload()
{
    $modeLoader = new Zend_Application_Module_Autoloader(array
        ('namespace'=>'Application','basePath'=>APPLICATION_PATH ));

return $modeLoader;
}