我在 Windows 机器上运行 Apache 进行本地测试,但我对此还很陌生。
localhost/
目前,如果我在 Web 浏览器中导航,它会显示一个index.html
页面(如果存在)。否则,它会显示目录列表。
- 我怎样才能使导航到根目录时显示超过
index.html
?我需要的是,如果存在:index.html
、index.htm
或index.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>