使用.htaccess文件禁用Apache Web目录列表

保护您的apache Web服务器是最重要的任务之一,特别是当您设置一个新的网站。 例如,如果您在Apache服务器( / var / www / youcl/ var / www / html / youcl )下创建名为“ youcl ”的新网站目录,并忘记在其中放置“ index.html ”文件,则可能会惊讶地发现,您的所有网站访问者只需在浏览器中输入 http://www.example.com/youcl ,即可获得所有重要文件和文件夹的完整列表。 在本文中,我们将向您展示如何使用 .htaccess文件禁用或阻止Apache Web服务器的目录列表。 这是当 index.html不存在时,目录列表将显示给您的访问者。

Apache目录列表

对于初学者, .htaccess (或 超文本访问 )是一个文件,它使网站所有者能够控制服务器环境变量以及其他重要选项,以增强他/她的网站的功能。 有关此重要文件的其他信息,请阅读以下文章,以使用 .htaccess方法保护您的Apache Web服务器:
  1. 25 Apache Htaccess技巧来保护Apache Web服务器
  2. 密码使用.htaccess文件保护Apache Web目录
使用这个简单的方法, .htaccess文件在网站目录树的任何和/或每个目录中创建,并为顶层目录,其中的子目录和文件提供功能。 首先,在主apache配置文件中激活您的网站的.htaccess文件。
$ sudo vi /etc/apache2/apache2.conf    #On Debian/Ubuntu systems
$ sudo vi /etc/httpd/conf/httpd.conf   #On RHEL/CentOS systems
然后查找以下部分,其中 AllowOverride指令的值必须设置为 AllowOverride All
<Directory /var/www/html/>
Options Indexes FollowSymLinks
AllowOverride All
</Directory>
但是,如果您有现有的 .htaccess文件,请按以下步骤备份它: 假设你在 / var / www / html / youcl /中有它(并且要禁用此目录的列表):
$ sudo cp /var/www/html/youcl/.htaccess /var/www/html/youcl/.htaccess.orig  
然后,您可以使用您喜欢的编辑器在特定目录中打开(或创建)进行修改,并添加以下行以关闭Apache目录列表:
Options -Indexes 
接下来重新启动Apache Web服务器:
-------- On SystemD based systems -------- 
$ sudo systemctl restart apache2
$ sudo systemctl restart httpd
-------- On SysVInit based systems -------- 
$ sudo /etc/init.d/apache2 restart 
$ sudo /etc/init.d/httpd restart
现在,通过在浏览器中键入 http://www.example.com/youcl来验证结果,您应该会收到类似于以下内容的消息。

Apache目录列表已禁用

就这样!在本文中,我们描述了如何使用 .htaccess文件在Apache Web服务器中禁用目录列表。我们还将介绍另外两个有用的和简单的方法为同一目的在即将到来的文章,直到那时,保持联系。 像往常一样,使用下面的反馈表单向我们发送您对本教程的想法。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏