我正在尝试阻止一些文件和文件夹在 apache 上直接访问。查看这里的一些答案后,我做了以下操作:
我补充说apache2.conf
:
<Location /folder1/folder2>
Order deny,allow
deny from all
</Location>
<FilesMatch /folder3/file1>
Order deny,allow
deny from all
</FilesMatch>
第一部分工作部分正确:当我从访问任何文件时http://xxxx/文件夹1/文件夹2/(文件或文件夹)我得到:
Forbidden
You don't have permission to access ... on this server.
但是当我访问类似的东西时:http://xxxx/nonExistingFolder/我得到了信息Not Found
,因此看起来我泄露了信息,即文件夹 1/文件夹 2/ 中存在某些内容,并且这些内容很重要。有没有办法显示未找到。
另一个问题是我仍然可以访问/folder3/file1
FilesMatch 中我做错了什么?我在 apache 上2.4.10
答案1
您可以在 /folder1 目录中使用 mod_rewrite
RewriteEngine On
RewriteBase /folder1
RewriteRule ^$ - [R=404,L]