【问题标题】:cant run a zend controller/action无法运行 zend 控制器/动作
【发布时间】:2012-03-04 21:10:21
【问题描述】:

我输入了这个:

http://localhost/dev.gamenomad.com/Index

我的 zend 项目中有这个控制器:

public function indexAction()
{
    $this->view->pageTitle = "About GameNomad";
}

基本上,动作控制器不会出现。

我得到这个输出:

Object not found!

在此服务器上找不到请求的 URL。如果您输入了 URL 请手动检查您的拼写,然后重试。

如果您认为这是服务器错误,请联系网站管理员。 错误 404 本地主机 02/13/12 14:59:19 Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1

当我输入:http://localhost/dev.gamenomad.com/

我明白了:

/dev.gamenomad.com 的索引

Parent Directory
.zfproject.xml
application/
docs/
library/
nbproject/
public/
tests/

Apache/2.2.21 (Win32) mod_ssl/2.2.21 OpenSSL/1.0.0e PHP/5.3.8 mod_perl/2.0.4 Perl/v5.10.1 服务器在 localhost 端口 80

为什么我会得到这个,我做错了什么?

【问题讨论】:

  • /dev.gamenomad.com 应该是什么?
  • 我认为 Zend 认为它是一个控制器名称。真实站点是localhost
  • 该死..我如何重组整个事情以使其正常工作
  • 我必须求助于虚拟主机吗?
  • resources.frontController.baseUrl = "/dev.gamenomad.com" 添加到您的 application.ini 中,看看是否有帮助。另外,AFAIR,您的文档根目录应该设置为public 目录

标签: php zend-framework


【解决方案1】:

我认为这是您所做的某种错误配置。由于您在访问 URL http://localhost/dev.gamenomad.com/ 时会获得目录索引,因此您可以尝试按照 URL 来运行您的 zend 操作。

http://localhost/dev.gamenomad.com/public/index/

检查一下。

注意:

没关系,因为这是您的本地主机。当您将内容上线时,请确保您关闭目录索引,并且人们只能通过 HTTP 请求访问public 目录。

【讨论】:

  • 先告诉我它是否有效?然后我将尝试解释它是如何发生的。
  • 好的,太好了。在 Zend 框架中,您基本上有 3 个主要目录应用程序、库和公共。 public 是有 index.php 文件的目录。整个网站通过这个文件进行控制。所以要执行你必须首先定位到该文件为localhost/dev.gamenomad.com/public 然后 index.php 文件将执行给定的控制器/动作/参数。希望你能理解。如果您认为是,请标记为正确答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多