我们的下载服务器有问题,想通过 htaccess 解决。我们的下载服务器是许多带有zip|rar|mp3|wmv|flv
扩展名的文件的目录,用户不应直接访问它们。
我们想要这样的场景:当每个用户都请求这样的文件时;我们将他重定向到一个页面(例如download.php
)并更新我们关于该文件的统计信息,然后将他重定向到 url(所以只有这个页面可以下载文件。)
我搜索了一下,发现了一个语法,但似乎有些不对劲!你能帮我吗:
RewriteEngine on
# Options +FollowSymlinks
RewriteBase /
# CLOSE HOTLINKS
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?myserver.com/.*$ [NC]
RewriteRule \.(mp3|wmv|flv|exe|rar|zip|jpg)$ http://mydownloadserver.com/download.php?url=$1 [L]
感谢 Mihai,所以我们可以用这个 htaccess 文件解决我们的问题:
RewriteBase /
RewriteCond %{HTTP_REFERER} !^http://(www\.)?anotherAllowedDomain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?MyDownloadServer.com/download.php.*$ [NC]
RewriteRule \.*.(mp3|wmv|flv|exe|rar|zip|jpg)$ http://MyDownloadServer.com/download.php?url=%{REQUEST_URI} [L]
最后处理“download.php”中的所有请求..