index.php
<?php
require_once("config.php");
// Outras configs que precises
if(isset($_GET['page']) && file_exists("pages/".$_GET['page'].".php")) $pagina = $_GET['page'];
else $pagina = "index.php";
?>
<html>
<?php
require_once("pages/header.php");
?>
<body>
<?php
require_once("pages/$pagina.php");
require_once("pages/body.php");
?>
</body>
</html>
Depois fazes um .htaccess para abrires assim, deste modo é fácil no futuro andares a fazer actualizações, até para ajax se precisares, já que ficas com o conteúdo das páginas separado.
PS.: Não sei se tem erros, fiz um pouco à pressa, mas a ideia está lá.
Tens aí uma coisita mal (a meu ver):
Estás a abrir o body depois de chamader o "header.php", que vai ser conteúdo e não algo referente a <head>