Статья взята с сайта syslinux.ru
Имеем domain.ru и веб сайт на нем. При запросе поддомена www.domain.ru или mail.domain.ru попадаем на тот же самый сайт, но в данном случае уже на домен третьего уровня. Это не есть хорошо, так как сайт должен быть доступен только по одной URL. Например с точки зрения поисковиков www.domain.ru и domain.ru это совершенно разные сайты со всеми вытекающими. На мой взгляд сайт на www.domain.ru это моветон, поэтому только domain.ru, без всяких поддоменов. (Если конечно на поддоменах не располагаются другие сайты)
Средствами вебсервера nginx можно сделать перманентное перенаправление всех запросов на домены третьего уровня связанные с вашим доменом на основной.
Делается это просто. Создаем новую секцию server в которой у нас будет только описание реврайта. Основные параметры директивы server будем записывать в основной секции.
server {
server_name *.domain.ru;
rewrite ^ http://domain.ru? permanent;
}
server {
listen 80;
server_name domain.ru;
........
........
}