В DNS создаётся запись вида
* IN CNAME domain.com.
В конфиге веб-сервера указывается, что ему нужно обрабатывать несколько доменов
# nginx
http {
server {
listen 80;
# слушать несколько доменов
server_name *.domain.com domain.com;
# ... остальная часть конфига
}
}
В коде приложения PHP анализируется
$_SERVER['SERVER_NAME']
Пример зависимости базы данных и шаблона от домена описан тут
Как проектировать систему для отображения общего контента на разных субдоменах / доменах?