Я загоняю имя хоста в переменную, просто в определенной общей директории делаем папки с именами доменов, они автоматом подхватываются и nginx и если надо apache, добавить новый домен - надо просто создать с ним директорию в /var/www/, все остальное подхватится автоматом, сотни доменов работают нормально, если надо для какого-то конкретного чуть другие настройки, создаем для него личный конфиг, для всех остальных общий с переменными, вот примеры:
Для nginx
server {
server_name ~^(?:www\.)?(?P<host_wo_www>.+)$;
server_name_in_redirect off;
resolver 127.0.0.1;
root /var/www/$host_wo_www;
access_log /var/log/nginx/$host_wo_www-access.log;
error_log /var/log/nginx/Allhost-error.log;
............
Для апач, если есть на бэкенде:
<VirtualHost *:8000>
UseCanonicalName Off
VirtualDocumentRoot "/var/www/%0"
ServerName "%0"
ServerAlias "*.%0"
ErrorLog ${APACHE_LOG_DIR}/AllHost-error.log
LogLevel error
#CustomLog ${APACHE_LOG_DIR}/%0-access.log combined
CustomLog /dev/null combined
<Directory "/var/www/%0/">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
..............