网站制作学习网PHP→正文:nginx配置多个二级域名(无限二级域名)
字体:

nginx配置多个二级域名(无限二级域名)

PHP 2012/9/20 19:08:53  点击:不统计

%77w%77%2Ef%6F%72p%73%70%2Ec%6E

在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;
}
这样就实现了无限个二级域名访问了。

配置很简单也很实用。大家试试。


http://www.forasp.cn/

·上一篇:php flush功能火狐无效 >>    ·下一篇:fsockopen 与curl 区别 >>
推荐文章
最新文章