How can I run a PHP script under a different file extension?

October 8, 2014 15.1k views


First of all, the basics: running latest Ubuntu images with Serverpilot managing the server install.

I created a basic stats script (in the form of download.php?show=XX) for our radio station podcasts and everything works fine, except when trying to listen in iTunes. I checked, and here’s what Apple has to say about the matter:

The URL preceding GET-style form values (before the first “?”) must end in a media file extension (such as .mp3).


How would I change my server config so that I could run my PHP script under an mp3 extension?

2 Answers

If this is a one-off exception just for load.php, you can use a rewrite: Add this to your .htaccess file:

RewriteEngine On
RewriteRule /load.mp3 /load.php

If you want all .mp3 files to be parsed as php, add the following line to .htaccess:

AddType application/x-httpd-php .mp3
  • Sweet, I actually didn’t think a rewrite would do it, so that’ll definitely be on the test table! (And I’m nothing your second option somewhere, although, I only need that single case, so that’ll be rewrite!)


    Here is ther .htaccess code I use. It works perfectly fine, the rewrite rule does the trick for iTunes.

    Options +FollowSymlinks
    RewriteEngine On
    RewriteBase /
    RewriteRule ^(.+).mp3$ /$1.php [NC,L]

You can configure Apache to use different extensions for php either through a configuration change or an .htaccess file. This page in the php manual should be what you are looking for:

Have another answer? Share your knowledge.

You can type !ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!