2012-08-28 08:25



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 /
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?*$ [NC]
RewriteRule \.(mp3|wmv|flv|exe|rar|zip|jpg)$$1 [L]

with thanks to Mihai so we can solve our problem with this htaccess file:

RewriteBase /
RewriteCond %{HTTP_REFERER} !^http://(www\.)?*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?*$ [NC]
RewriteRule \.*.(mp3|wmv|flv|exe|rar|zip|jpg)${REQUEST_URI} [L]

and finally process all requests in "download.php"..

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答


  • dongtangu8403 dongtangu8403 9年前

    Maybe you forgot any file name:

    RewriteRule \.*.(mp3|mp4)${REQUEST_URI} [L]

    %{REQUEST_URI} will return the uri requested and you can process from there like (readfile())

    点赞 评论 复制链接分享
  • douguazhi5966 douguazhi5966 9年前

    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.

    点赞 评论 复制链接分享