Pues se puede hacer (si es con PHP) mediante un análisis de casos...
Código:
<?php
// Una posible idea
switch ($_GET["pagina"]) {
case "1":
// O ponerlos directamente o añadirlos con un include
include "enlaces-pagina-1.html";
break;
case "2":
include "enlaces-pagina-2.html";
break;
default:
echo "<p>La página solicitada no se encuentra</p>";
}
?>
Si los enlaces estuvieran en una base de datos, se puede automatizar mucho más la cosa y de hecho, existen librerías y funciones que lo hacen automáticamente.
Ahora, si lo haces sin ningún lenguaje de esos de servidor... lo que yo haría sería hacer páginas distintas.