我是Zend的新手并尝试创建我的第一个Zend应用程序。我使用zf.sh来创建我的项目。我保留了所有未触及的内容,只修改了默认IndexController.php中的indexAction方法,为视图分配了一些数据。
我转到网址mydomain / myapp /,视图加载成功。但是,我去了mydomain / myapp / index,我找不到一个页面。我在IndexController.php中创建了另一个名为testAction的方法。我尝试通过mydomain / myapp / index / test,我也找不到一个页面。
由于我按原样保留所有配置(由zf.sh生成),我认为这一切都应该开箱即用,所以我不确定出了什么问题。
答案 0 :(得分:0)
听起来这可能是新项目的vhost设置的问题。
快速入门中有一些关于creating a virtual host的信息。需要注意的重要事项是Document Root
和Directory
部分应该具有相同的路径,该路径指向项目的public
文件夹。此外,AllowOverride All
指令很重要,因为它允许.htaccess
目录中的public
文件设置重写规则。
如果您使用zf.sh
创建项目,则应在docs
目录中看到名为README.txt
的文件。此文件将包含一些文本,以及示例vhosts配置 - 它应该已包含正确的配置以帮助您入门。您可以简单地将此文件中的<VirtualHost>...</VirtualHost>
部分剪切并粘贴到vhost文件中(您需要找到针对特定操作系统执行此操作的正确方法),它应该可以正常工作。
我似乎记得Ubuntu的一件事是sites-available
目录中的文件不应以.conf
结尾,否则将不会被解析(YMMV)。您还必须记得为Ubuntu启用vhost(sudo a2ensite <The name of your vhost>
)并重新加载apache配置(Ubuntu为sudo apache2 reload
)。
另请注意,zf.sh
将在项目的public
目录中创建.htaccess文件。您不应该触摸此文件,但请确保它在那里。它包含重写规则,告诉apache通过index.php
发送应用程序的所有请求以进行路由。
希望这有帮助。