Hallöchen,
Ok er unterscheidet jetzt schon zwischen gefunden und nicht gefunden wenn nicht gefunden dann ruft er index_home auf.
Wenn gefunden soll er Prüfen ob existiert nur egal ob es die seite gibt oder nicht er sagt immer existiert nicht.
Ich glaube, du hast die vorgeschlagene Kontrollausgabe von $_GET['site'] nicht gemacht. Die sollten dir nämlich zeigen, wo der Fehler liegt.
Was steht in $_GET['site'] drin? Richtig, z.B. "hunde/html/index-1". Ist das eine gültige Datei?
Wenn nicht gefunden, gibst du $site den Inhalt "index_home". Sieht aus wie exakt das Gleiche, würde aber von file_exists() auch nicht gefunden werden.
Das der include von "index_home" klappt, liegt hieran:
include ($site.'.php');
^^^^^^^
Deshalb wird nur
if (file_exists($_GET['site'].'.php'))
^^^^^^^
funktionieren...
MfG
vaudi