me parece que lo estas llevando bien, aun... de forma insegura
 
imagina  abrir una URL así...  
index.php?pagina=index.php y se entrara en un bucle infinito.. casi mortal! 
una forma, a mi parecer, mas segura y fiable...  
index.php?seccion=contacto  Código PHP:
    $pagina = ($_GET['seccion'])? $_GET['seccion']: 'portada';
$modulo = '/modules/' . $pagina . '.php';
if (is_file($modulo))
{
  include $modulo;
} 
    
  así, evitas carga de archivos mal intencionados... además de limitar su alcance, y posiblemente permisos... 
creeme que este método puede parecer obsoleto, pero aun tiene mucho por ofrecer... 
aun, si tienes la posibilidad de tener 
mod_rewrite habilitado... nos ofrece la fortuna de URL limpias, e incluso otros trucos mas usando tan solo PHP, etc, etc...  
(
estas tres URL pueden resultar casi de forma idéntica, respectivamente y usando lo necesario) 
a) sin 
mod_rewrite, ni nada particular en PHP, muy simple
- 
pagina.com/index.php?seccion=contacto 
b)  usando 
PATH_INFO o bien, 
REQUEST_URI (
variables $_SERVER)
- 
pagina.com/index.php/contacto 
c) con 
mod_rewrite ON y no mas!
- 
pagina.com/contacto  NOTA que esta ultima URL (c) en "realidad" es la misma que la primera (a), algunos frameworks usan incluso la segunda forma (b), te sugiero investigues a fondo los términos y técnicas (
necesidades en cuanto a implementación) que surgan de esto....  
vaya, no te preocupes por la estética de la URL ... mejor, procura ir avanzando hacia un lado mas de flexibilidad y usabilidad, suerte!