.htaccess htaccess可访问文件夹中的块特定文件
如果以前有人问过这个问题,我很抱歉。 我有一个文件夹,看起来像:project/version/download.zip 但问题是我有多个项目文件夹和多个版本文件夹 其中我有一些文件,我不希望任何人在版本文件夹中访问,但我希望允许用户访问download.zip 我的问题是如何阻止对其他文件的访问,但允许用户下载zip? 至于文件只是一种文件类型 或者我应该将zip文件转移到其他文件夹中,并将deny from all放在项目文件夹中吗.htaccess htaccess可访问文件夹中的块特定文件,.htaccess,.htaccess,如果以前有人问过这个问题,我很抱歉。 我有一个文件夹,看起来像:project/version/download.zip 但问题是我有多个项目文件夹和多个版本文件夹 其中我有一些文件,我不希望任何人在版本文件夹中访问,但我希望允许用户访问download.zip 我的问题是如何阻止对其他文件的访问,但允许用户下载zip? 至于文件只是一种文件类型 或者我应该将zip文件转移到其他文件夹中,并将deny from all放在项目文件夹中吗 请建议^^谢谢如果您的zip文件所在的文件夹,请尝试添加包
请建议^^谢谢如果您的zip文件所在的文件夹,请尝试添加包含以下内容的
.htaccess
文件:
Order Allow,Deny
Deny from all
<FilesMatch "\.zip$">
Order Deny,Allow
Allow from all
</FilesMatch>
命令允许,拒绝
全盘否定
命令拒绝,允许
通融
假设您的版本文件夹中还没有.htaccess文件。如果您启用了mod_rewrite,您应该能够执行以下操作:
RewriteCond %{REQUEST_URI} ^/(version|version1337|version9001)
RewriteCond %{REQUEST_URI} !(download\.zip|grumpycat\.png)$
RewriteRule ^ [F,L]
首先将.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开头,并且不能以这些文件名中的一个结束,以触发禁止的错误。否则将显示该文件