Apache 在 dist 升级后显示空的“/”索引

Posted

技术标签:

【中文标题】Apache 在 dist 升级后显示空的“/”索引【英文标题】:Apache showing empty "index of /", after dist upgrade 【发布时间】:2018-12-08 08:41:10 【问题描述】:

我正在使用一个 Debian 7 服务器,我对其进行了 dist 升级,所以它现在是 Debian 8。

我唯一遇到的问题是从 2.2 更新到 2.4 的 apache2。问题是现在它向我显示了一个空的“/索引”,尽管指定文件夹中有很多文件。

虚拟主机配置:

<VirtualHost *:80>
  ServerAdmin some@email
  ServerName some.server
  ServerAlias some.server
  DocumentRoot "/data/apt/public_html"

  <Directory "/data/apt/public_html">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    Require all granted
  </Directory>

</VirtualHost>

我怎样才能让它再次工作?

【问题讨论】:

【参考方案1】:

不建议混合使用 2.2 和 2.4 访问指令。看http://httpd.apache.org/docs/current/upgrading.html。您会看到他们从不将Order allow,denyRequire all granted 混合使用。所以删除你的Order 行。

混合新旧指令

将 Order、Allow 或 Deny 等旧指令与新指令(如 Require 在技术上是可行的,但不鼓励。 mod_access_compat 是 创建以支持仅包含旧指令的配置 方便2.4升级。请检查以下示例以获得 更好地了解可能出现的问题。

此外,您没有指定DocumentIndex 文件,因此当客户端请求http://some.server/ 时,Apache 不知道它应该返回哪个文件。

假设默认页面是 index.html,将其添加到您的 VirtualHost:

DocumentIndex index.html

注 1:ServerAliasServerName 具有相同的值,因此不是必需的。 注意 2:您应该为此 VirtualHost 设置访问和错误日​​志文件。如果您只有 1 个 VirtualHost,它可能没有用,但如果您有一个大型站点(稍后有多个 VH),您会感谢我。

【讨论】:

嗨,尼克,感谢您的回答。它是一个 apt 存储库,因此没有主页。但是,您指出 Require 和 Order 不能一起使用,这对您有所帮助。我终于让它工作了。

以上是关于Apache 在 dist 升级后显示空的“/”索引的主要内容,如果未能解决你的问题,请参考以下文章

升级到 Ubuntu 13.10 后 Apache 不使用 DocumentRoot(使用显示“它可以工作!”的默认页面)

用homebrew将php 7.1升级到7.2后,无法在Mac上重启Apache

升级 Apache Tomcat的办法

不同版本的tomcat下载路径

升级tomcat版本

升级到Apache 2.4.6后出错