htaccess阻止文件夹中的特定文件

时间:2014-06-09 09:42:00

标签: .htaccess

如果之前已经提出这个问题,我很抱歉。 我有一个文件夹,如:project / version / download.zip 但事情是我有多个项目文件夹和多个版本文件夹 我有几个文件,我不希望任何人访问版本文件夹,但我想允许用户访问download.zip

我的问题是如何阻止访问其他文件但允许用户下载zip? 至于文件只是一个文件类型。

或者我应该将zip文件转移到其他文件夹并将deny从项目文件夹中的所有文件夹中删除?

请建议^^谢谢

2 个答案:

答案 0 :(得分:1)

如果您的zip文件所在的文件夹,请尝试添加.htaccess文件,其中包含以下内容:

Order Allow,Deny 
Deny from all 
<FilesMatch "\.zip$">
Order Deny,Allow
    Allow from all
</FilesMatch>

答案 1 :(得分:0)

假设您的版本文件夹中没有.htaccess文件。如果你启用了mod_rewrite,你应该可以这样做:

首先将.htaccess文件添加到版本文件夹。将以下内容添加到该文件

RewriteCond %{REQUEST_URI} !(download\.zip|grumpycat\.png)$
RewriteRule ^ [F,L]

由于.htaccess文件位于版本文件夹中,因此所有文件名都自动以version/为前缀。它将阻止访问该文件夹中的所有文件,以及没有.htaccess的子文件夹,但download.zip和grumpycat.png除外。您可以简单地将此文件复制并粘贴到要限制访问的任何子文件夹中。


或者,如果稍微更改代码,则可以在文档根目录中创建.htaccess。你会做这样的事情:

RewriteCond %{REQUEST_URI} ^/(version|version1337|version9001)
RewriteCond %{REQUEST_URI} !(download\.zip|grumpycat\.png)$
RewriteRule ^ [F,L]

现在请求的URL必须以version,version1337或version9001开头,并且不得以其中一个文件名结束以触发禁止的错误。否则将显示该文件。