En el servidor DNS creas un alias (CNAME)
*.tudominio.com --> tudominio.com
En Apache debes ingresar la siguiente linea:
ServerAlias *.tudominio.com
Luego de esto ya te aseguras que cualquier subdominio irá al mismo index.php que se encuentra en la carpeta pricipal de tu hosting.
En ese index.php debes evaluar el dominioo y fijarte que subdominio está llamando, por ejemplo...
Código PHP:
$host = $_SERVER['HTTP_HOST'];
// Sacas el www.
$host = str_replace("www.","",$host);
$tmp = explode(".",$host);
// Corroboremos que no estamos en el dominio principal en el caso en que no haya subdominio
if ($tmp[0] != "tudomino" && $tmp[0] != "") {
// Ya tenemos nuestro subdominio en limpio
$subdominio = $tmp[0];
}
else {
// No hay subdominio
$subdominio = false;
}
Obviamente este es un ejemplo que se me opcurre aquí al vuelo se puede mejorar y lo puedes enriquecer.
Con la variable $subdominio ya puedes seguir programando, por ejemplo
Código PHP:
if ($subdominio != false) {
$sql = "SELECT campo,campo,campo FROM users WHERE user ='".$subdominio."'";
$consulta = mysql_query($sql,$link) or die (mysql_error());
// ETC ETC ETC
}
Es una idea para orientarte.
Para terminar, cabe destacar que esa configuración del DNS y de Apache muchas veces no se puede hacer depende del proveedor de hosting.
En todo caso le puedes pedir al admninistrador que configure esto por ti.
Saludos