Ich war vor Netcup bei einem Freehoster. Dort gab es zwar auch Subdomains, allerdings jeweils in einem eigenen, komplett abgetrennten Ordner ohne Zugriff auf den Stammordner. Daher habe ich mir *.domain.tld auf den Stammordner geleitet und dort eine .htaccess angelegt:
RewriteCond %{SERVER_NAME} ^subdomain1\.domains\.tld$
RewriteRule (.*) _subdomain1/$1 [L]
RewriteCond %{SERVER_NAME} ^subdomain2\.domains\.tld$
RewriteRule (.*) _subdomain2/$1 [L]
Wenn du aber eh auf externe URLs weiterleiten willst, reicht dir eigentlich eine kleine index.php + die Verwaltung dafür. Außerdem legst du fest dass jede Subdomain in diesen Ordner gelenkt wird. In der index.php nimmst du dir aus $_SERVER['SERVER_NAME'] die Subdomain (mit nem RegEx à la [a-zA-Z0-9]+, da hast du gleich sichergestellt, dass keine bösen Zeichen verwendet wurden). Achtung: Dafür muss die Apache-Einstellung "UseCanonicalName" auf "Off" sein, sonst wird stattdessen der "ServerName" angezeigt.
Die Subdomains kannst du ja in einer Datenbank speichern, einfach mit der Zuordnung Subdomain <=> Ziel-URL. Und dann machst du halt ein
header("Location: $zielurl", true, 301);
sowie besser noch eine Anzeige der Ziel-URL als Link, falls der Browser das nicht unterstützen sollte (sehr unwahrscheinlich).
Und bei der Verwaltung musst du halt überlegen, was der Benutzer braucht. Ob es ein richtiges Kontrollpanel geben soll oder einfach nur die Möglichkeit, sich mit der Subdomain und einem Passwort anzumelden und dort das Ziel ändern zu können.