Ho risolto in altro modo:

codice:
<? include("header.php");
include("menu.php");
if (empty($_GET['page'])) {
$p="primapagina";              //pagina di default per i contenuti centrali
} else {
    $p=$_GET['page'];
}
if(!file_exists($p.".php")){
        $p="error.php";     //pagina di errore
    }
include($p.".php");
include("footer.php"); ?>
Così mi prende anche le sottodir (sempre senza dover specificare l'estensione .php nel link)

Che dite?