Windows XP Windows 7 Windows 2003 Windows Vista Windows教程綜合 Linux 系統教程
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟件教程
 Windows教程網 >> 電腦軟件教程 >> 服務器技術 >> 關於服務器 >> 配置Nginx子域名泛解析綁定至單獨目錄

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

日期:2017/2/8 10:10:27      編輯:關於服務器

簡單記錄:

需求描述

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

解決及分析

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

 


    server {
         server_name
             domain.com
             www.domain.com
             *.domain.com
         ;
 
        set $subdomain '';
         if ($host ~* (\b(?!www\b).+)\.domain.com) {
             set $subdomain -$1;
         }
 
        root    /home/user/www$subdomain/;
     }
 

解釋:

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

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

Copyright © Windows教程網 All Rights Reserved