技術(shù)員聯(lián)盟提供win764位系統(tǒng)下載,win10,win7,xp,裝機(jī)純凈版,64位旗艦版,綠色軟件,免費(fèi)軟件下載基地!

當(dāng)前位置:主頁(yè) > 教程 > 服務(wù)器類 >

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

來(lái)源:技術(shù)員聯(lián)盟┆發(fā)布時(shí)間:2018-06-13 00:20┆點(diǎn)擊:

  簡(jiǎn)單記錄:

  需求描述

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

  解決及分析

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

  server {

  server_name

  domain.com

  

  *.domain.com

  ;

  set $subdomain '';

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

  set $subdomain -$1;

  }

  root /home/user/www$subdomain/;

  }

  解釋:

  首先,在定義 server_name 時(shí)使用通配符 * ,使 Nginx 接受任意子域名的訪問(wèn)。

  然后,對(duì) $host 進(jìn)行分析,找到子域名的名稱。 這個(gè)正則表達(dá)式是在網(wǎng)上抄的,目的是為了在匹配子域名的同時(shí), 不匹配 www 開(kāi)頭的訪問(wèn)和不帶 www 的訪問(wèn)。 前面的 set 是因?yàn)?Nginx 的 If 沒(méi)有 Else,所以默認(rèn)先將 $subdomain 置空。

  最后,在定義 root 的時(shí)候,使用 $subdomain 變量。