为什么我得到了错误的文档根目录?

时间:2019-01-29 15:19:28

标签: apache zend-framework virtualhost

我正在完成本教程-https://docs.zendframework.com/tutorials/getting-started/skeleton-application/

在尝试在Apache本地服务器上进行设置时,我使用了此代码-

<VirtualHost *:80>
ServerName zf-tutorial.localhost
DocumentRoot /var/www/html/skeleton-application/public
SetEnv APPLICATION_ENV "development"
<Directory /var/www/html/skeleton-application/public>
    DirectoryIndex index.php
    AllowOverride All
    Require all granted
</Directory>
</VirtualHost>

当我尝试转到http://zf-tutorial.localhost时,我看到一个目录列表,看起来像这样-

https://imgur.com/a/zrUuXrf

此url- http://zf-tutorial.localhost/skeleton-application/public/实际上显示正确的index.php文件。

如何获取http://zf-tutorial.localhost以显示index.php文件?

2 个答案:

答案 0 :(得分:0)

尝试删除Apache的默认虚拟主机:

sudo a2dissite 000-default.conf

,然后重新加载Web服务器以使更改生效。

答案 1 :(得分:0)

我喜欢将所有内容整理和连接良好。我关心目录名是否与配置文件和名称匹配,所以我将在这里给您留下我的看法。

  1. /var/www/zf-tutorial.localhost中安装您的应用程序
  2. cd /etc/apache2/sites-available
  3. sudo cp 000-default.conf zf-tutorial.localhost.conf
  4. 打开该文件,将ServerName更改为zf-tutorial.localhost
  5. DocumentRoot更改为/var/www/zf-tutorial.localhost/public
  6. 您可以添加其他参数/​​设置,例如SetEnv APPLICATION_ENV "development"
  7. 您可以更改访问日志和错误日志,以简化调试和故障排除。对我来说是${APACHE_LOG_DIR}/zf-tutorial.localhost.access.log${APACHE_LOG_DIR}/zf-tutorial.localhost.error.log
  8. 保存并关闭
  9. sudo a2ensite zf-tutorial.localhost.conf
  10. sudo service apache2 reload

在这里您应该准备好出发。有了这个,您不需要那里单独的VirtualHost规则,因为您现在在单独的配置文件中对其进行了设置。