我需要在apache2服务器的根目录下进入时禁用索引,有什么建议吗?
编辑您的 Apache2 配置文件,通常位于目录 "/etc/apache2/httpd.conf"。
如果默认的 Web 服务器目录 (/var/www) 已经有一些配置,可以添加以下内容或进行编辑:
<Directory /var/www>
Options -Indexes
AllowOverride All
Order allow,deny
Allow from all
</Directory>
这将禁用对所有公共目录的索引。
通常是这样完成的:
Options -Indexes
减号表示“不”...
如果您只想保护一个目录不被查看其内容,您也可以添加一个 index.html 或 index.php 文件,在某人浏览该目录时会显示该文件。
a2dismod
实用程序,您可以完全删除该模块,如果您根本不需要目录索引:sudo a2dismod --force autoindex
使用--force
或-f
标志可以避免以下警告:
WARNING: The following essential module will be disabled.
This might result in unexpected behavior and should NOT be done
unless you know exactly what you are doing!
autoindex
To continue type in the phrase 'Yes, do as I say!' or retry by passing '-f': Yes, do as I say!
Module autoindex disabled.
To activate the new configuration, you need to run:
systemctl restart apache2
这里是mod_autoindex
的文档。
请执行命令 sudo nano /etc/apache2/apache2.conf
在文件中找到这个部分 <Directory /var/www/>
将Indexes前加上减号(Denied)
将FollowSymLinks前加上加号
最终结果 :
<Directory /var/www/>
Options -Indexes +FollowSymLinks
AllowOverride None
Require all granted
</Directory>
适用于Raspbian操作系统
您会收到消息:"您没有访问此服务器上的'Directory'的权限。"
确保在您的sites-enabled(或者像我一样是sites-available)目录中的配置文件中添加-Indexes,它们通常位于“/etc/apache2/”目录下。
/etc/apache2/apache2.conf
。由于不同发行版的Apache结构可能会有所不同,建议使用命令grep -r "Directory /var/www" /etc/apache2
进行搜索。 - Jonathan Y.