Reputation: 13
We have a problem in our download server and wanna solve it via htaccess.
our download server is directory of many files with zip|rar|mp3|wmv|flv
extension that users should not direct access to them.
We want this scenario: when every user request such files; we redirect him to a page (e.g. download.php
) and and update our statistics about that file then redirect him to url(so just this page can download a file.)
I searched about it and found a syntax but it seems somthings wrong! can u help me:
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]
with thanks to Mihai so we can solve our problem with this htaccess file:
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]
and finally process all requests in "download.php"..
Upvotes: 1
Views: 877
Reputation: 39704
Maybe you forgot any file name:
RewriteRule \.*.(mp3|mp4)$ http://mydownloadserver.com/download.php?url=%{REQUEST_URI} [L]
%{REQUEST_URI}
will return the uri requested and you can process from there like (readfile())
Upvotes: 1
Reputation: 4478
Try using
deny from all
in your .htaccess. You can use your php page to do certain operations and let user download the file.
PS. If i were you, i dont want such users to redirect to a download page if they try to access files directly. Its kinda illegal in my scenario if they do what they are not suppose to do. So i will show them forbidden page if they try to acccess the files directly.
Upvotes: 0