0

我是 Zend 的新手,正在尝试创建我的第一个 Zend 应用程序。我使用 zf.sh 创建我的项目。我保留了所有内容,只修改了默认 IndexController.php 中的 indexAction 方法,以将一些数据分配给视图。

我转到 URL mydomain/myapp/ 并成功加载视图。但是,我转到 mydomain/myapp/index 却找不到一个页面。我在 IndexController.php 中创建了另一个名为 testAction 的方法。我尝试通过 mydomain/myapp/index/test 访问,但也找不到一个页面。

由于我保留了所有配置(由 zf.sh 生成),我认为这一切都应该开箱即用,所以我不确定出了什么问题。

4

1 回答 1

0

听起来这可能是您新项目的虚拟主机设置的问题。

快速入门中有一些关于创建虚拟主机的信息。需要注意的重要事项是Document RootDirectory部分应该具有相同的路径,指向public您的项目文件夹。该AllowOverride All指令也很重要,因为它允许目录.htaccess中的文件public设置重写规则。

如果您曾经zf.sh创建过项目,那么您应该会在docs目录中看到一个名为README.txt. 此文件将包含一些文本以及示例 vhosts 配置 - 它应该已经包含正确的配置以帮助您入门。您可以简单地将此文件中的部分剪切并粘贴<VirtualHost>...</VirtualHost>到 vhost 文件中(您需要为您的特定操作系统制定正确的方法来执行此操作),它应该可以正常工作。

对于 Ubuntu,我似乎记得的一件事是目录中的sites-available文件不应以 a 结尾,.conf否则它们将不会被解析 (YMMV)。您还必须记住启用虚拟主机(sudo a2ensite <The name of your vhost>适用于 Ubuntu)并重新加载 apache 配置(sudo apache2 reload适用于 Ubuntu)。

另请注意,这zf.sh将在您的项目public目录中创建一个 .htaccess 文件。您不需要触摸此文件,但请确保它在那里。它包含重写规则,告诉 apache 通过index.php路由发送应用程序的所有请求。

希望这可以帮助。

于 2012-12-06T21:00:46.563 回答