网站建设时在nginx实现不限制二级域名,也就是说用*来解析一下域名,可以实现多个域名,二级域名甚至三级域名,四级域名都可以实现,下面将配置说一下。
首先确定是在server的配置项里面添加
server
{
listen192.168.79.129:80;
server_namelocalhost,*.test.com;
root/www/html
indexindex.htmlindex.htm;
if($host~^(diannao|shouji|yinhang).test.com$)
{
set$erji$1;
rewrite^(.*)$/$erji$1last;
}
location/
{
proxy_passhttp://backend_server;
}
}
上面的配置的意思说一下
Listen是监听的端口号
servername是配置的域名,也就是从浏览器里面如何访问,我这里定义的是二级无限域名*.test.com
比如a.test.comb.test.com都会访问当前的server
root是指访问本地文件的路径
if($host~^(diannao|shouji|yinhang).test.com$)
{
set$erji$1;
rewrite^(.*)$/$erji$1last;
}
如果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$1last;
}
这样就实现了无限个二级域名访问了。
配置很简单也很实用。大家试试。