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

.htaccess 使用htaccess阻止直接链接到其他域中的文件,.htaccess,url,mod-rewrite,url-rewriting,dns,.htaccess,Url,Mod Rewrite,Url Rewriting,Dns,我想阻止其他网站直接链接可在我的服务器上下载的文件。相反,我希望将访问者重定向到一个php文件,在用户下载文件之前,我将在其中显示广告 因此,如果有人试图访问www.example.com/file.exe,那么我想将用户重定向到www.example.net/somescript.php?download=file.exe 但是,如果用户来自www.example.com,则必须仍然能够访问file.exe。但是如果他来自另一个域,那么我想将他重定向到somescript.php?downlo

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

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

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

这样,
file.exe
将只能从我自己的域访问,来自外部网站的传入流量将被迫通过somescript.php,在那里我将显示广告,然后用户才能窃取文件

非常感谢

试试这个:

 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]

实际上file.exe应该是一个变量,所以如果我转到www.example.com/anotherfile.exe,它就会重定向到somescript.php?download=anotherfile.exe,如果扩展名与.exe不同呢?它也可以是拉链、rar、tar、gz、7z等。。。对不起,忘了提那件事。