Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I have mp3 players set up to play mp3s on my site. The mp3s are all being uploaded to the uploads folder. I don't want people accessing these directly, meaning I don't want people to be able to download the mp3s. Is there a way to somehow restrict access to all files ending in .mp3 in the uploads folder while still having them playable in the mp3 players on the site?

share|improve this question
You will need to upload the files to a location outside of the web root. This is the only sure-fire way of preventing them being downloaded directly. You would then need some PHP mechanism to do whatever it is you are doing with them (streaming them?). –  vancoder Mar 21 '13 at 16:46
Is it possible to obfuscate the links so users have a harder time downloading? –  Desi Mar 27 '13 at 21:25

1 Answer 1

You could do this one of two ways.

1) Simple way. Create a new file in your mp3 directory called index.php, and add this code to it

    // Display no content

What this is doing is when a user goes to browse your directory, the web server will serve them the index.php file. Since there is no code in it, the user will be served a blank webpage as a result.

2) Do this through .htaccess In your website's root directory should be a .htaccess file. Open this up and add something like

Redirect 403 /mp3/ http://mysite.com

The Redirect will automatically redirect anyone who tries to access the /mp3/ folder and send them to your main website of mysite.com. The 403 tells the browser that the request is Forbidden.

share|improve this answer
#1 won't help if the user knows the name of the MP3 file already. #2 will stop the MP3s being accessed in any way, which is probably not what is desired. –  vancoder Mar 21 '13 at 16:39
All valid points. Perhaps you're better off using some sort of download manager plugin, where a download link expires after X amount of tries. Where X is a definable number (1, 3, 5, etc). That's for download. If you're uploading, perhaps just giving your upload folder an obscure name? Even if you did do some htaccess magic, direct links to the MP3 would still work, much like option 1. –  Pat Mar 21 '13 at 18:09
Appreciate the help here, guys. I'll see about it another way then. –  Desi Mar 21 '13 at 18:32

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.