Mach das ganze mal anders. Benutz Switch-Case
PHP Code:
<?php
if(!isset($_GET['site']) || empty($_GET['site']))
{
header('location: index.php?site=home');
exit();
}
switch($_GET['site'])
{
case "home":
include 'path_to_home_page';
break;
case "music":
include 'path_to_music_page';
break;
default:
include 'path_to_error_page';
break;
}
?>
Wenn folgendes bspw. aufgerufen wird:

included er die Startseite, so auch bei music, wird jetzt aber etwas included was nicht vorhanden ist, springt er zum default case und included die error page.
Wenn ich dein Problem jetzt richtig interpretiert habe.