为什么当我在 URL 中输入目录时,浏览器不显示 index.html 文件?

为什么当我在 URL 中输入目录时,浏览器不显示 index.html 文件?

我有一个文件夹,其中包含重定向到另一个页面的网页index.html。当我在浏览器中输入该目录的 URL 而不指定文件名时,我希望它打开并index.html重定向到目标页面。但是当我在任何浏览器(Chrome、Firefox)中打开目录时,显示的是目录结构/树:

Index of C:\Users\User1\Documents\
[parent directory]

为什么浏览器无法打开 index.html 文件?我使用的是 Windows 7。

答案1

因为您正在通过引用访问它file://,并且它并未由网络服务器提供服务。

事实上,你可以进入一个目录并获取默认文件,这是 Web 服务器配置的一部分 - Apache 具有DirectoryIndex通常指定多个文件(index.htm、index.html、index.php 等)的指令,据我所知,IIS 使用“Default.htm”

答案2

为什么浏览器无法打开index.html文件?

正如评论中指出的那样,最可能的两个原因是:

  • 启用目录列表(显示目录中的单个文件)。

  • 拥有默认页面关联(通常称为默认文档)配置不正确(例如,您使用索引.html当服务器仅配置为识别主页文件作为有效的默认网页)。

互联网信息服务

如果您使用的是 IIS,则在中央 IIS 管理器窗口(功能视图窗格)中应该有一个名为目录浏览的选项。请注意,您必须选择一个“级别”(左侧窗口中的服务器或站点实例),此选项才会出现。选择给定级别后,您可以通过启用/禁用在右侧窗口(操作窗格)中切换目录浏览。这可以在服务器范围内、单个站点甚至特定目录上进行。

要在 IIS 中配置默认​​文档设置,请右键单击站点或文件夹,然后单击“属性”。选择“文档”选项卡,然后单击“启用默认文档”复选框(如果尚未选中)。您可以通过单击“添加”来添加新的默认文档。在“默认文档名称”框中,键入默认文档的名称(例如索引.html),完成后单击“确定”。请注意,可以有多个默认文档(例如主页索引.html)。如果愿意,您可以更改优先顺序(IIS 首先查找的顺序)。

阿帕奇

在 httpd.conf 中(或任何适当的地方),您需要删除索引任何参数选项指令禁用目录列表。要指定默认文档,请查找适用的目錄索引指令并在列表中指定适当的名称,例如

DirectoryIndex index.htm index.html index.php home.php foo.bar

相关内容