您的位置:首页 > 运维架构 > Nginx

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

2016-05-11 17:19 756 查看
例如: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;

}




这样就实现了无限个二级域名访问了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: