VirtualHost 를 찾을때, 다음의 우선순위를 갖음

  1. 가장 정확한 이름
  2. 와일드카드로 시작하는 가장 긴 이름 (ex. *.example.org)
  3. 와일드카드로 끝나는 가장 긴 이름(ex. mail.*)
  4. 정규표현식이 매칭되는 이름 (설정파일의 나열순)

매칭되는 서버이름이 없을 경우, default_server 를 사용 (이 부분 nginx 문서 참고)

server_name 정규표현식

server_name "~^(?<name>\\w\\d{1,3}+)\\.example\\.net$"

정규표현식 캡쳐를 사용하여 나중에 변수로 사용가능

server {
    server_name   ~^(www\\.)?(?<domain>.+)$;
    location / {
        root   /sites/$domain;
    }
}

다음과 같이 숫자 플레이스홀더도 사용할 수 있음 (다만, 위의 디렉티브에 영향을 받기 때문에 간단한 경우에 유용)

server {
    server_name   ~^(www\\.)?(.+)$;
    location / {
        root   /sites/$2;
    }
}