Simplificarías mucho las cosas si en lugar de capturar la querystrig, pasases una variable, además debés diferenciar el prefijo del nombre del archivo
Código Apache:
Ver originalOptions +FollowSymLinks
RewriteEngine On
## con esta primera parte vas a remover el / de la url (a menos que un directorio
# con dicho nombre exista
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ /$1 [R=permanent,QSA]
# Ahora la redirección
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^front/(.*)$ /index.php?pag=$1 [L]
el prefijo front difiere del nombre del archivo index (podés poner los valores que quieras)
El index.php sería
Código PHP:
Ver original<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>front.php</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
</head>
<body>
<p>
<a href="/front/aaa">aaaa</a><br />
<a href="/front/bbb">bbbb</a><br />
<a href="/front/ccc">cccc</a><br />
<strong>
<?php
echo $_GET['pag'];
?>
</strong>
</p>
</body>
</html>
Con respecto a los subdominios, puede variar según como los configure tu servidor, algunos usan como root carpetas dentro del htdocs del dominio principal, otros, por fuera de este(siempre es más conveniente esto último)
Probá si te funciona en todos, si no debérías aclarar lo de la configuración que te mencioné
Saludos