Sí, es bastante fácil.
Lo primero que debes hacer es crear dos archivos con el contenido de las partes que irán en A y B (esto es opcional pero te conviene hacerlo por lo que diré más adelante).
Con eso hasta aquí en PHP puedes hacer:
<div class="partea"><?php include("mipartea.htm") ?></div>
<div class="parteb"><?php include("miparteb.htm") ?></div>
Ahora debes decidir qué mecanismo usarás para determinar qué contenido cargar en la parte C. Para propósito de este ejemplo supondré que usarás GET (es decir, le pasarás como parámetro GET el contenido C).
<?php
$contenido = @$_GET["c"];
if (!empty($contenido)) {
switch ($contenido) {
case "fotos": $archivo = "fotos.htm"; break;
case "comentarios": $archivo = "comentarios.htm"; break;
default: $archivo = "error.htm";
}
}
else {
$archivo = "index.htm";
}
?>
<div class="partea"><?php include("mipartea.htm"); ?></div>
<div class="parteb"><?php include("miparteb.htm"); ?></div>
<div class="partec"><?php include($archivo); ?></div>
Entonces si la URL hacia tu sitio es:
http://example.com/index.php?c=fotos <-- cargará fotos.htm
http://example.com/index.php?c=comentarios <-- cargará comentarios.htm
http://example.com/index.php?c=noexite <-- cargará error.htm
http://example.com/ index.php <-- cargará index.htm
en la parte C.
Demás está decir que todos los archivos .htm que menciono en el código deben existir ¿no?.
Para las partes A y B es mejor tenerlas en archivos separados así puedes modificar solo esos archivos (que serán de menor tamaño que todo el index.php completo) sin afectar al resto de la "plantilla".