nginx实现带参数目录域名重定向二级域名方法

例如:myname.netingcn.com,但实际访问的地址可能为www.netingcn.com/user.php?uid=myname。要使其能正常工作,首先在DSN解析那里需要配置泛域名解析,接下来在nginx配置文件中设置rewrtie即可。
nginx配置如下:
server {
    listen      80;
    server_name *.netingcn.com;
 ...
 if ($host ~* ^(......).netingcn.com) {
     set $sub_name $1;
     rewrite ^/ /user.php?uid=$sub_name last;
 }
 ...
这里假设所有的6个字符的子域名都是用户自定义域名,然后对其进行rewrite。另外可以通过set指令把表达式中的某些信息存放在一个变量中,而后可以使用它。

<pre class="html" name="code">server <p>	 <wbr>{ </wbr></p><p>	 <wbr> <wbr>listen <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>192.168.79.129:80; </wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></p><p>	 <wbr> <wbr>server_name <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>localhost,*.test.com; </wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></p><p>	 <wbr> <wbr>root <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr> <wbr>/www/html </wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr></p><p>	 <wbr> <wbr>index <wbr>index.html <wbr>index.htm; </wbr></wbr></wbr></wbr></p>
if ($host ~ ^(.*).test.com$) 
 { 

 set $erji $1; 

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

 } 

 
 

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


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值