1. Если не ошибаюсь, то вам не SERVER_NAME нужен, а HTTP_HOST.
2. В панели домена делаем две записи, без `, точки не забываем в конце:
A-запись `site.com.` `11.11.11.11` — (IP-сервера)
CNAME-запись `*.site.com.` `site.com` — все поддомены обработать как site.com., т.е. отдасть ip вашего сервера
3. Nginx, что-то вроде этого
server {
listen 80;
server_name www.site.com;
return 301 http://site.com$request_uri;
}
server {
listen 80 default_server;
server_name site.com *.site.com;
root /var/www;
index index.php index.html index.htm;
...
}