如何解决网站打开只显示“Index of /”目录列表的问题
更新时间
打开 denwyn-stud.co.uk 时看到的是 Apache 自动生成的“Index of /”文件列表,而不是正常网页,这说明该域名当前指向的服务器上没有可用的默认首页文件,或者 Apache 被允许在该目录下列出文件。要恢复正常展示,需要把首页文件放到站点根目录,并在服务器配置中关闭目录列表。以下步骤适用于使用 Apache 的虚拟主机或自管服务器;如果你只是访客而非站点所有者,能做的只有等待站点方修复,或通过其他渠道联系站点方。
先确认问题出在哪一层
从页面证据看,该站点返回的是 Apache/2.4.58 (Ubuntu) 的目录索引页,根目录下只有一个 htdocs/ 文件夹,修改时间为 2025-10-14。这通常意味着两种情况之一:
- 网站文件被上传到了
htdocs/子目录,而域名根目录没有首页文件; - 域名解析或虚拟主机配置指向了错误的目录。
因此修复顺序应是:先确认文件位置,再补首页文件,最后收紧服务器配置。
步骤一:把首页文件放到正确的站点根目录
- 通过 FTP/SFTP 或主机控制面板的文件管理器登录服务器。
- 找到该域名对应的站点根目录。若面板中显示的是
htdocs、public_html或www,以面板标注的“网站根目录”为准;不要凭目录名猜测。 - 确认根目录下存在
index.html、index.php或index.htm之一,且文件名大小写正确(Linux 区分大小写)。 - 如果文件在
htdocs/里,而htdocs/本身就是站点根目录,则无需移动;如果htdocs/只是根目录下的一个子文件夹,需要把网站文件移到真正的根目录,或在配置中把根目录指向它。
预期结果:刷新域名后,Apache 优先返回首页文件,而不是目录列表。
步骤二:在 Apache 中关闭目录列表
即使没有首页文件,也可以让服务器返回 403 而不是暴露文件结构。在对应的虚拟主机配置或 .htaccess 中加入:
Options -Indexes
如果使用 .htaccess,需确认该目录的 AllowOverride 允许 Options,否则指令不会生效。修改后重启或重载 Apache:
sudo systemctl reload apache2
预期结果:访问没有首页的目录时返回 403 Forbidden,不再列出文件名和修改时间。
步骤三:显式设置默认首页顺序
在虚拟主机配置中确认 DirectoryIndex 包含你实际使用的首页文件名:
DirectoryIndex index.html index.php
这样即使目录中存在多个候选文件,Apache 也会按顺序选取。配置修改后同样需要重载服务。
验证方法
- 用浏览器无痕窗口访问域名,确认返回的是网页内容而非文件列表。
- 用
curl -I https://denwyn-stud.co.uk/查看响应状态码:正常首页应为 200,关闭目录列表后无首页目录应为 403。 - 检查页面源码是否为你上传的首页内容,排除缓存或 CDN 旧副本干扰。
常见卡点
| 现象 | 可能原因 | 处理 |
|---|---|---|
| 放了 index.html 仍显示目录列表 | 文件放错目录,或文件名大小写不符 | 核对站点根目录路径与文件名 |
.htaccess 加了 Options -Indexes 无效 |
AllowOverride 未允许 Options |
在虚拟主机配置中调整 AllowOverride |
| 修改配置后无变化 | 未重载 Apache 或改错了配置文件 | 重载服务并确认加载的配置文件 |
| 域名打开的是别的站点内容 | 虚拟主机 ServerName/DocumentRoot 指向错误 |
核对虚拟主机绑定与根目录 |
关于这个域名本身
现有资料只能确认 denwyn-stud.co.uk 当前返回 Apache 目录索引,无法据此确认它是否与名为 Denwyn Stud 的马场存在运营关系,也没有资料显示其正式网站地址。若你想找该马场的正式网站,应通过搜索引擎或行业目录核对名称与联系方式,而不是依赖这个仅显示目录列表的域名。