【问题标题】:IndexController retrive 404 ERROR but other controllers work fineIndexController 检索 404 错误,但其他控制器工作正常
【发布时间】:2013-04-03 17:53:10
【问题描述】:

我已经在 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 错误,但如果我输入 zf.local/test/add 一切正常。

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

一旦我尝试输入 zf.local/default/index/add 并且代码正在运行,所以我需要在地址栏中的 /index 之前放置一个 /default

我认为这可以通过 Zend 助手在 /index 之前插入我的 url /default 来解决 Official DOcumentation form Zend Framework 但我不知道该怎么做。到现在为止,我只发现了错误

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

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

【问题讨论】:

标签: php zend-framework


【解决方案1】:

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

【讨论】:

  • 我使用 zf create project zf 命令从命令行创建了我的 Zend 项目。这是输出 robotzi@ubuntu:/var/www$ zf create project zf Creating project at /var/www/zf 注意:此命令创建了一个 web 项目,有关设置 VHOST 的更多信息,请参阅 docs/README 测试说明:在您的 include_path 中找不到 PHPUnit,因此不会创建测试操作。在那之后,我从 netbeans 中的现有源 (zf) 创建了一个新项目,这可能是一个问题吗?
  • 如果是这样,请检查您的 routes.php 或 Bootstrap.php 文件。也许创建了一些代码,覆盖了默认路由。在默认包中,即使您有模块,您也可以使用 MVC 模式访问操作作为 ////
  • 我的 Bootstrap.php 是空的。你说了一些关于默认包和模块的事情,可以解释一下我该怎么处理它们吗?
  • 请查看这篇文章。如果您遵循所有步骤,则不会出现问题。 framework.zend.com/manual/1.12/en/…
  • 我在那篇文章之后构建了我的项目。这是我的项目 [URL=filehost.ro/29420452/ZendExample_zip/]ZendExample zip[/URL]
【解决方案2】:

在视图文件中尝试以下操作以获得正确的 url

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

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-05
  • 2020-10-11
  • 1970-01-01
  • 2017-03-12
  • 1970-01-01
  • 2021-09-19
  • 2015-02-15
相关资源
最近更新 更多