无法在 httpd.conf 中禁用目录列表

Posted

技术标签:

【中文标题】无法在 httpd.conf 中禁用目录列表【英文标题】:Cannot disable Directory Listing in httpd.conf 【发布时间】:2013-09-02 06:49:10 【问题描述】:

我刚刚在我的个人 CentOS 机器上安装了 XAMPP,当我尝试禁用 Directory Listing 时,我在重新启动时收到 Apache 错误。进行更改后,我的 httpd.conf 文件如下所示:

httpd.conf

Alias /bitnami/ "/opt/lampp/apache2/htdocs/"
Alias /bitnami "/opt/lampp/apache2/htdocs"

<Directory "/opt/lampp/apache2/htdocs">
    Options -Indexes FollowSymLinks
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

错误

XAMPP: Starting Apache...fail.
AH00526: Syntax error on line 5 of /opt/lampp/apache2/conf/httpd.conf:
Either all Options must start with + or -, or no Option may.

我已尝试一起删除索引,但我仍然可以看到我的目录。也许我在错误的文件中,但是从我读过的内容来看,必须在此处创建禁用目录列表或 .htacces (我试图避免。)以防万一,我确保每次都重新启动 XAMPP我进行了更改。

【问题讨论】:

【参考方案1】:

错误信息很清楚。改写/显示示例:

# relative to whatever lower precedence section applies
Options -Indexes

如果您的目标是关闭索引。如果您想确保也设置了 FollowSymlinks,请在其前面加上一个 +:

# relative to whatever lower precedence section applies
Options -Indexes +FollowSymlinks

如果您想关闭除了 FollowSymlinks 之外的所有内容:

# not relative
Options FollowSymlinks

【讨论】:

在 apache/conf/httpd.conf 中将 'Options Indexes FollowSymLinks Includes ExecCGI' 替换为 'Options FollowSymLinks Includes ExecCGI' 保存并重新启动 apache。【参考方案2】:

请转到文件:/opt/lampp/etc/httpd.conf 并像这样评论该行:

#Options Indexes FollowSymLinks Includes ExecCGI

或像这样编辑

Options -Index

对于 Windows 机器:在文件 /apache/conf/httpd.conf 中进行相同的编辑

【讨论】:

在 Ubuntu XAMPP /opt/lampp/etc/httpd.conf 中,此解决方案有效。 #Options Indexes FollowSymLinks 包括 ExecCGI to #Options FollowSymLinks 包括 ExecCGI @VigneshWaran:很高兴它帮助了你!【参考方案3】:

我在“FollowSymlinks”这个词前面加了一个“+”来获得成功。 并替换此行:

AllowOverride All
Order allow,deny

收件人:

Require all granted

希望能帮到你!

【讨论】:

【参考方案4】:

你也可以使用:

sudo a2dismod autoindex

【讨论】:

以上是关于无法在 httpd.conf 中禁用目录列表的主要内容,如果未能解决你的问题,请参考以下文章

linux httpd安装及配置

AWS Elastic Beanstalk httpd/conf.d/ssl.conf 无法识别

dockerfile http_php

wamp下部署ssl,https,httpd.conf,Apache无法启动,不能启动

如何防止目录浏览?

phpstudy配置虚拟域名