设置 Apache 目录根行为

设置 Apache 目录根行为

我在 Windows 机器上运行 Apache 进行本地测试,但我对此还很陌生。

localhost/目前,如果我在 Web 浏览器中导航,它会显示一个index.html页面(如果存在)。否则,它会显示目录列表。

  • 我怎样才能使导航到根目录时显示超过index.html?我需要的是,如果存在:index.htmlindex.htmindex.php,它将导航到其中之一。
  • 如何禁用显示目录根目录?如果不存在索引页,我希望它返回 403 Forbidden 错误。

答案1

首先是索引部分。打开 httpd.conf 文件并查找此部分。

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
# The index.html.var file (a type-map) is used to deliver content-
# negotiated documents.  The MultiViews Option can be used for the
# same purpose, but it is much slower.
#        
DirectoryIndex index.htm index.html index.html.var

大多数情况下,您不会在这里添加 index.php,因为它要么位于单独的 conf 中,要么位于 php.conf 中。

然后,对于目录列表,有几个选项。您可以使用 .htaccess 文件,也可以将其放在 httpd conf 中。对于 conf 文件,您可以添加类似这样的内容。

<Directory /path/to/directory>
   Options -Indexes
</Directory> 

相关内容