技术员联盟提供win764位系统下载,win10,win7,xp,装机纯净版,64位旗舰版,绿色软件,免费软件下载基地!

当前位置:主页 > 教程 > 服务器类 >

配置Nginx子域名泛解析绑定至单独目录

来源:技术员联盟┆发布时间:2018-06-13 00:20┆点击:

  简单记录:

  需求描述

  Web 服务器为 Nginx,希望配置泛子域名解析。 其实稍加修改,配置泛域名解析也不是难事。

  解决及分析

  在 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 时使用通配符 * ,使 Nginx 接受任意子域名的访问。

  然后,对 $host 进行分析,找到子域名的名称。 这个正则表达式是在网上抄的,目的是为了在匹配子域名的同时, 不匹配 www 开头的访问和不带 www 的访问。 前面的 set 是因为 Nginx 的 If 没有 Else,所以默认先将 $subdomain 置空。

  最后,在定义 root 的时候,使用 $subdomain 变量。