2013-08-17 14:36:04
来 源
itjs.cn
Nginx
这篇文章里介绍了配置Nginx子域名泛解析绑定至单独目录,希望对于初学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 变量。

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。