apache - Apache 在 dist 升级后显示空的“/”索引
问题描述
我正在使用一个 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>
我怎样才能让它再次工作?
解决方案
不建议混合使用 2.2 和 2.4 访问指令。查看http://httpd.apache.org/docs/current/upgrading.html。你会发现它们从不Order allow,deny
与Require all granted
. 所以删除你的Order
行。
混合新旧指令
将 Order、Allow 或 Deny 等旧指令与 Require 等新指令混合在技术上是可行的,但不鼓励。创建 mod_access_compat 是为了支持仅包含旧指令的配置,以促进 2.4 升级。请查看以下示例,以更好地了解可能出现的问题。
此外,您没有指定DocumentIndex
文件,因此 Apache 在客户端请求时不知道应该返回哪个文件http://some.server/
。
假设默认页面是 index.html,在您的 VirtualHost 中添加:
DocumentIndex index.html
注 1:ServerAlias
与 具有相同的值ServerName
,因此不需要。
注意 2:您应该为此 VirtualHost 设置访问和错误日志文件。如果您只有 1 个 VirtualHost,它可能没有用,但如果您有一个大型站点(稍后有多个 VH),您会感谢我。
推荐阅读
- mysql - 为每个选定的记录插入记录
- react-native - 如何将组件添加到卡片标题容器 react-native-elements
- python - 是否可以告诉词干分析器忽略特定语言的单词?
- html - 下拉子菜单打开与后退按钮重叠的主菜单
- node.js - Nodejs全局变量范围问题
- javascript - 如何在javascript中使用z-index禁用输入或做出反应?
- javascript - 在 Jodit 编辑器外部单击时保持选择/光标
- firebase - Firebase 身份验证处理程序 - 如何将 myapp.firebaseapp.com/__/auth/handler 更改为 mydomain.com/__/auth/handler?
- ckeditor - TYPO3 9 CKEditor 添加额外的段落
- firebase - Flutter + firebase:配置应用程序以使用本地 firebase 模拟器