nginx配置多个二级域名(无限二级域名)
2014-09-10来源:易贤网

在nginx实现不限制二级域名,也就是说用*来解析一下域名,可以实现多个域名,二级域名甚至三级域名,四级域名都可以实现,下面将配置说一下。

首先确定是在server的配置项里面添加

server

{

listen 192.168.79.129:80;

server_name localhost,*.test.com;

root /www/html

index index.html index.htm;

if ($host ~ ^(diannao|shouji|yinhang)\.test\.com$)

{

set $erji $1;

rewrite ^(.*)$ /$erji$1 last;

}

location /

{

proxy_pass http://backend_server;

}

}

上面的配置的意思说一下

Listen是监听的端口号

servername 是配置的域名,也就是从浏览器里面如何访问,我这里定义的是二级无限域名*.test.com

比如a.test.com b.test.com 都会访问当前的server

root 是指访问本地文件的路径

if ($host ~ ^(diannao|shouji|yinhang)\.test\.com$)

{

set $erji $1;

rewrite ^(.*)$ /$erji$1 last;

}

如果host匹配上面三个名字的.test.com,则进行rewrite的规则。

set 是将if的正则匹配内容给了$erji ,然后将$erji使用到下面的rewrite里面。

last 是当rewrite后不再进行下面的规则匹配。

假设当前访问的是diannao.test.com/forasp.html会直接rewrite到 /www/html/diannao/$1的路径,这里的$1是实际请求url的参数在这里就是

forasp.html.实际访问的文件是/www/html/diannao/forasp.html

然后实现多个二级域名配置,很简单

if ($host ~ ^(.*)\.test\.com$)

{

set $erji $1;

rewrite ^(.*)$ /$erji$1 last;

}

这样就实现了无限个二级域名访问了。

更多信息请查看IT技术专栏

推荐信息