使用.htaccess来保护文件的直接访问

我们需要防止直接访问我们网站上的文件,只需在浏览器中inputurl即可。 我通过使用htaccess文件得到了这个工作,并且在IE和Safari中也没问题,但由于某些原因,Firefox不能合作。 我认为这与Firefox报告引用者的方式有关。

这是我在.htaccess文件中的代码。

RewriteEngine On RewriteBase / RewriteCond %{HTTP_REFERER} !^http://(my\.)?bigtimbermedia\.com/.*$ [NC] RewriteRule \.(swf|gif|png|jpg|doc|xls|pdf|html|htm|xlsx|docx)$ http://my.bigtimbermedia.com/ [R,L] 

如果你想看到这个例子,请先尝试访问这个… http://my.bigtimbermedia.com/books/bpGreyWolvesflip/index.html

它在所有浏览器中正确地阻止它。

现在,如果你去这个URL并点击链接,它可以在IE和Safari中使用,但Firefox扼stream器似乎是在循环中。

任何想法,我可以得到这个工作在Firefox? 谢谢!

你能用吗?

 RewriteCond %{HTTP_REFERER} !^%{HTTP_HOST}$ [NC] 

所以你匹配任何机器认为主机是?

RewriteCond%{HTTP_REFERER}!^ http://(my。)?bigtimbermedia.com/。* $ [NC]

没有经过testing – 你的重写规则看起来有点有趣 – 我会通过paros或提琴手运行这个,看看有什么不同之间的请求,IE浏览器或Opera或任何发送,以及什么redirect您的系统实际上是发回来的。