22

我不想使用 .htaccess。我应该如何更改我的目录属性?

<VirtualHost *:80>
   ServerName abc.com
   DocumentRoot /usr/share/uploads
   <Directory " /usr/share/uploads">
      Order allow,deny
      Allow from all
   </Directory>
</VirtualHost>
4

6 回答 6

55

如果您使用的是 Debian/Ubuntu,只需转到终端并输入

sudo a2dismod autoindex
sudo service apache2 restart

如果您使用的是 Centos/Fedora,只需执行以下操作:

mv /etc/httpd/conf.d/autoindex.conf /etc/httpd/conf.d/autoindex.bkp
/etc/init.d/httpd restart

同样在其他操作系统或发行版中......

这应该禁用使那些花哨(通常无用和安全问题)目录列表的 apache 模块。此外,作为奖励,您可以获得一些表现:-)

于 2013-03-06T22:49:52.390 回答
27

我真的无法在互联网上找到直接答案;甚至在 apache 文档上。最后,可以通过几次迭代找到解决方案;我们需要使用选项,并且该值不应包含索引。

<Directory "/usr/share/uploads">
        Options Includes FollowSymLinks MultiViews
        AllowOverride None
         Order allow,deny
      Allow from all
   </Directory>
于 2012-06-22T04:22:56.810 回答
6

@Deepak 解决方案对我不起作用。这个做了:

在主 apace 配置/etc/apache2/httpd.conf中添加:

<Directory />
        Options FollowSymLinks
        AllowOverride All
</Directory>

它适用于所有域和子域。没有 .htaccess 文件。

于 2014-01-14T12:09:43.237 回答
1

以上都完成了,但是目录信息还在出现吗?如果您使用 index.php,而不是 index.html,请检查以下内容:

<IfModule dir_module>
    DirectoryIndex index.php
</IfModule>
于 2017-06-06T05:46:46.073 回答
0

在我的 AWS ec2 上,我这样做了,它对我有用。

首先打开 /etc/httpd/conf/httpd.conf 文件。

修改/添加

<Directory /var/www/html>
   Options Indexes FollowSymLinks
   AllowOverride All
   Require all granted
</Directory>
于 2022-02-16T10:16:09.853 回答
-1

最简单的方法是在该目录中放置一个空的 index.html(或您的 apache 配置为默认提供的任何内容)。这不是一个真正的解决方案,而是一个非常简单的解决方法。浏览该目录的用户只会看到一个空白页。

此外,您可以使用模拟目录列表并仅显示一些特殊文件的脚本(如 index.php)。

于 2012-06-21T11:17:34.570 回答