拒绝访问除 index.html apache 之外的所有文件

拒绝访问除 index.html apache 之外的所有文件

有人可以帮助我使用 apache .htaccess 文件来拒绝访问 apache 服务器的 documentroot 上除 index.html 之外的所有文件和子目录吗?

我试过:

<Location />
    Order deny,allow
    <Files index.html>
        Order allow,deny
    </Files>
</Location>

但那没有用。

答案1

尝试这个:

Order allow,deny
Deny from all
<FilesMatch index\.html>
        Allow from all
</FilesMatch>

答案2

在 Apache 2.4.18 中,在一个.htaccess文件中,我发现<Files index.html>nor<FilesMatch index\.html><Files "">etc. 都不对以斜杠结尾的目录索引请求 URL 做出反应;它们只适用于请求 URL 实际上以 结尾的情况index.html。我最终设法授予所有以 结尾的 URL 访问权限而无需身份验证/,但要求对所有其他文件进行身份验证,方法是

Require expr "%{REQUEST_URI} -strmatch '*/'"
Require valid-user

相关内容