使用htaccess阻止直接链接到其他域中的文件

时间:2013-06-16 05:45:05

标签: .htaccess url mod-rewrite url-rewriting dns

我想阻止其他网站直接链接我服务器上可供下载的文件。相反,我想将访问者重定向到一个php文件,我会在用户可以下载文件之前显示广告。

因此,如果有人试图访问www.example.com/file.exe,那么我想将用户重定向到www.example.net/somescript.php?download=file.exe

但是,如果用户来自file.exe,则用户仍必须能够访问www.example.com。但如果他来自不同的域名,那么我想将他重定向到somescript.php?download=XXXXX

这样,file.exe只能从我自己的域访问,来自外部网站的传入流量将被强制通过somescript.php,我会在用户可以播放文件之前显示广告。

非常感谢

1 个答案:

答案 0 :(得分:0)

试试这个:

 RewriteEngine on
 RewriteCond %{HTTP_REFERER} !^http://(www\.)?example.com(/)?.*$     [NC]
 RewriteRule ([^/]+\.[a-z0-9]+)$ http://www.example.com/somescript.php?download=$1 [R,NC,L]