我有一个像下面的文件树......
.htaccess
index.php
includes
css
js
xml
images
apple.jpg
orange.jpg
date.jpg
berry.jpg
.
.
.
waterlemon.jpg
banana.jpg
file
001.txt
002.txt
003.txt
.
.
.
100.txt
我正在使用以下代码.htaccess
至 阻止index.php
目录中除root
之外的每个文件和目录 。
Order Deny,Allow
Deny from All
<Files "index.php">
Order Deny,Allow
allow from all
</Files>
现在我只需要允许apple.jpg
,date.jpg
,berry.jpg
&amp;来自banana.jpg
文件夹的images
...此外,我还需要允许file
文件夹中的所有内容...以便任何人都可以直接访问来自{{1}的任何文件} 001.txt
...我怎么能这样做...... ??
我不想使用多个.htaccess文件
答案 0 :(得分:3)
RewriteEngine on
RewriteCond %{REQUEST_URI} !^/index\.php$
RewriteCond %{REQUEST_URI} !^/file/(.+)
RewriteCond %{REQUEST_URI} !^/includes/images/(apple|date|berry|banana)\.jpg$
RewriteRule (.*) - [F]
此代码仅允许访问:
/includes/images/
文件夹。index.php
档案。/file/
目录中的任何文件。否则它将禁止访问任何其他文件,并将提供 403 Forbidden 错误。
PS:您的.htaccess文件中不再需要此代码。
Order Deny,Allow
Deny from All
<Files "index.php">
Order Deny,Allow
allow from all
</Files>
答案 1 :(得分:0)
我认为您可以像我在网站上一样阻止文件类型。
RewriteEngine on
Rewritecond %{HTTP_HOST} !^www\.mydomain\.com
RewriteRule (.*) //www.mydomain.com/$1 [R=301,L]
RewriteRule \.(sql)$ - [F]
RewriteRule \.(txt)$ - [F]
RewriteRule \.(zip)$ - [F]
RewriteRule \.(rar)$ - [F]
将此行添加到您的htaccess更改域名并更改类型文件,您可以在代码中看到这将有助于您: - )