В конфиге сделал:
...
server_name ~^(?<page>[^\.]+)\.(?<domain>.+)$;
...
location = / {
alias /var/www/sites/$domain/$page.html;
}
...
В браузере запросил страницу http://page-1.sub1.site1.ru
в логе ошибок получил запись такую:
2014/11/04 17:40:27 [alert] 12188#0: *344577016 "/var/www/sites/sub1.site1.ru/page-1.htmlindex.html" is not a directory, client: 37.229.114.130, server: ~^(?<page>[^\.]+)\.(?<domain>.+)$, request: "GET / HTTP/1.1", host: "page-1.sub1.site1.ru"
То есть как я понимаю, nginx воспринимает это как директорию, а не файл, поэтому дописывает дефолтную индексную страницу и ищет ее, а такой нет...