萬盛學電腦網

 萬盛學電腦網 >> 服務器教程 >> 配置Nginx子域名泛解析綁定至單獨目錄

配置Nginx子域名泛解析綁定至單獨目錄

   簡單記錄:

  需求描述

  Web 服務器為 Nginx,希望配置泛子域名解析。 其實稍加修改,配置泛域名解析也不是難事。

  解決及分析

  在 Nginx 的配置文件中做如下配置(示意):

  server {

  server_name

  domain.com

  www.domain.com

  *.domain.com

  ;

  set $subdomain '';

  if ($host ~* (b(?!wwwb).+).domain.com) {

  set $subdomain -$1;

  }

  root /home/user/www$subdomain/;

  }

  解釋:

  首先,在定義 server_name 時使用通配符 * ,使 Nginx 接受任意子域名的訪問。

  然後,對 $host 進行分析,找到子域名的名稱。 這個正則表達式是在網上抄的,目的是為了在匹配子域名的同時, 不匹配 www 開頭的訪問和不帶 www 的訪問。 前面的 set 是因為 Nginx 的 If 沒有 Else,所以默認先將 $subdomain 置空。

  最後,在定義 root 的時候,使用 $subdomain 變量。

copyright © 萬盛學電腦網 all rights reserved