Yo creo que la solución a tu problema (comentado al comienzo) es al reves.
Debes crearte una página principal que tenga el header, footer y una parte para cargar los modulos.
Por ejemplo:
Código PHP:
<html>
<body>
<header><? include('/tema/header.php'); ?> </header>
<div id="main">
<? include('/modulos.php'); ?>
<footer><? include('/tema/footer.php'); ?> </footer>
</div>
Donde header y footer siempre serán llamados desde la misma parte, por lo que la url de las rutas no cambiará.
Por otro lado el archivo modulos.php debiera ser de la forma
modulos.php
Código PHP:
$modulo = $_GET['modulo'];
if(!is_null($modulo))
{
if($modulo == 'articulo') include('/modulos/articulos.php');
else if($modulo == 'contacto') include('/modulos/contacto.php');
else include('/home.php');
}
Entonces cuando quieras cargar el contenido de articulos.php llamas a la siguiente ruta:
http://www.urlsitio.com/?modulo=articulos
Revisa si te sirve y me cuentas como te va.
Además te recomiendo ir leyendo acerca de frameworks php (cakephp, zend framwork, etc.) y el modelo vista controlador (MVC), que te entregan una forma más ordenada de desarrollar tus sitios.