.htaccess正确阻止一个目录,另一个正确阻止。

时间:2013-01-09 15:38:29

标签: .htaccess

我在我的root中使用这个.htaccess将所有内容重定向到index.php

RewriteEngine On

RewriteRule !\.(mp3|js|ico|txt|gif|jpg|png|css)$ index.php

然后在我的目录.htaccess中我使用它阻止直接访问

RewriteEngine On

deny from all

然后要播放我的html5音频,我把这个.htaccess放在音频目录中

RewriteEngine On

deny from all

allow from index

但是当我在我的javascript目录中放入相同的.htaccess文件时,我无法访问我的js文件。为什么它适用于音频目录但不适用于此目录?

提前致谢! : - )

1 个答案:

答案 0 :(得分:1)

这是因为您正在从客户端计算机访问javascript文件。 MP3文件从服务器端加载,它允许这种方法。这就是为什么你得到403禁止页面。尝试通过HTTP_REFERER拒绝它:

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !\.(mp3|js|ico|txt|gif|jpg|png|css)$ [NC] 
RewriteCond %{HTTP_REFERER} !^$ 
RewriteRule . - [F]