我已经在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>
答案 0 :(得分:0)
您创建的ZF应用程序不正确。首先尝试从命令行创建应用程序。之后,这个问题就要解决了。
答案 1 :(得分:0)
在视图文件中尝试以下操作以获取正确的网址
<a href="<?php echo $this->url(array('module' => 'default', 'controller' => 'index',
'action' => 'add'));
?>">Add</a>