禁用目录在Apache上市; 但进入各个文件应该被允许(Disable directory li

2019-07-30 01:48发布

我不希望使用的.htaccess。 我应该如何改变我的目录属性?

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

Answer 1:

如果您使用的是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模块,使那些花哨(通常是无用的,安全问题)的目录清单。 此外,作为奖励,你赚了一点性能:-)



Answer 2:

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

<Directory "/usr/share/uploads">
        Options Includes FollowSymLinks MultiViews
        AllowOverride None
         Order allow,deny
      Allow from all
   </Directory>


Answer 3:

该@Deepak解决方案并没有为我工作。 这一次做的:

在主要快速地配置/etc/apache2/httpd.conf只需添加:

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

它将为你的域和子域的工作。 如果没有.htaccess文件。



Answer 4:

以上所有做过,但目录信息仍然来了? 如果您使用的index.php,而不是index.html的,检查以下内容:

<IfModule dir_module>
    DirectoryIndex index.php
</IfModule>


Answer 5:

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

另外,你可以使用脚本(如的index.php)至极模仿目录上市,只显示了一些特殊文件。



文章来源: Disable directory listing on apache; but access to individual files should be allowed