【问题标题】:Why am I getting the wrong document root?为什么我得到错误的文档根目录?
【发布时间】:2019-01-29 15:19:28
【问题描述】:

我正在学习本教程-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文件?

【问题讨论】:

    标签: apache zend-framework virtualhost


    【解决方案1】:

    我喜欢把所有东西都整理好并连接好。我关心目录名称以匹配配置文件和名称,所以我会留在这里我将如何做到这一点。

    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 规则,因为你现在在单独的配置文件中设置它。

    【讨论】:

      【解决方案2】:

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

      sudo a2dissite 000-default.conf
      

      并重新加载 Web 服务器以使更改生效。

      【讨论】:

      • 当我这样做时,它会一起停止加载。还有其他想法吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-11-02
      • 1970-01-01
      • 2013-12-27
      • 2012-01-04
      • 1970-01-01
      • 2016-12-30
      相关资源
      最近更新 更多