IndexController retrive 404 ERROR但其他控制器工作正常

时间:2013-04-02 13:11:22

标签: php zend-framework

我已经在localhost上安装了Zend Framework(版本1.12),我在从IndexController访问操作时遇到了问题但是相同的代码,相同的动作名称在其他控制器中运行得非常好,让我们说TestController。

class IndexController extends Zend_Controller_Action {
public function init(){/* Initialize action controller here */}
public function indexAction(){//some code}
public function addAction(){//some code}
public function otherAction(){//other code}
}

class TestController extends Zend_Controller_Action {
public function init(){/* Initialize action controller here */}
public function indexAction(){//some code}
public function addAction(){//some code}
public function otherAction(){//other code}  
}

当我输入地址栏zf.local /我从index / index.phtml文件中找到内容但是当我输入zf.local / index / index时,ZF告诉我找不到url。当我输入zf.local / test / index时,一切正常 如果我输入地址栏zf.local / index / add我会收到404 ERROR,但如果我输入zf.local / test / add,一切正常。

我已将我的虚拟主机设置为AllowOverride All,并且我从Apache启用了重写模块。我停止,重新启动并重新加载apache,重新启动我的pc。我认为apache没有问题,或虚拟主机这就是为什么我我正在写这篇文章。My apache and virtual host configurations

一旦我尝试输入zf.local / default / index / add并且代码正常工作,我需要在地址栏中将/ default放在/ index之前

我认为这可以通过Zend helper在/ index之前插入我的url / default来解决 Official DOcumentation form Zend Framework但我不知道该怎么做。到目前为止,我已经设法只获得错误

从index.html我用控制器调用下一个代码的动作:

<a href="<?php echo $this->url(array('controller' => 'index',
        'action' => 'add'));
    ?>">Add</a>

2 个答案:

答案 0 :(得分:0)

您创建的ZF应用程序不正确。首先尝试从命令行创建应用程序。之后,这个问题就要解决了。

答案 1 :(得分:0)

在视图文件中尝试以下操作以获取正确的网址

<a href="<?php echo $this->url(array('module' => 'default', 'controller' => 'index',
    'action' => 'add'));
?>">Add</a>