M
mmwy
Unregistered / Unconfirmed
GUEST, unregistred user!
xxx.126.com这类虚拟域名的实现办法,常见的有两种。
一、真实域名。
以设置wuyu.126.com的域名为例。在126.com的dns服务器上,
做wuyu的A记录(若需要使用xxx@wuyu.126.com的邮件,再增加一
条相应的mx记录即可),自然喽,要想在你的个人主页上使用这个
域名,你就快烧香拜佛的请免费空间提供商替你加个相应的主机
头吧,呜呜!
二、虚拟域名。
上面这种“正统”的方法固然很“帅”,但是,每增加一条
A记录,就需要折磨我们的系统管理员大哥,累啊!(要是做网
易的xxx.126.com也这么做的话,怕是要累出人命来哦!)
其实xxx.126.com的“虚拟域名”就在于这个“虚拟”上面,
网易对126.com做了泛域名解(*.126.com),当客户端请求
wuyu.126.com时,置于126.com的程序分析出"wuyu"这个用户名,
自数据库中检索出该用户所对应的ip,然后重定向过去。
为了让wuyu.126.com变得更加真实一些,一般都是做一个上
下的两帧页面,top帧的高度为0,下面的帧用于显示重定向后的
网页。通过这种手段,访用者在地址栏上看到的永远是
wuyu.126.com的地址。
1、泛域名解析
. 对于unix/linux/bsd的用户,只需要添加一条"*.126.com"的记录即可。
. nt4的dns,依"com --> 126 " 打开“126”域,添加一条"*"的A记录即可。
. win2k需要在126域下新加一“*”域,然后添加名称为空的A记录。
2、建立126.com的web站点
注意的是,在建立这个站点的时候,不要添加"126.com"的主机头,
否则,用xxx.126.com就无法访问到此站点了。
3、程序实现。
当访问者访问"http://wuyu.126.com"或键入“wuyu.126.com”访问
时,取“SERVER_NAME”的环境变量,分析得到"wuyu",然后做数据库检
索,获得相对应的ip地址,再跳转。
三、关于中文虚拟域名。
IE在处理中文URL请求时,其默认值为“始终以UTF-8方式发送
URL”,因此,在126.com处理“http://无语.126.com”的中文虚拟
域名时,并不能得到“无语”的用户名,而是获得经过UTF-8编码的
字符,牵一发动全身,随后的数据库检索也相应的受到影响。
. 方法一:
----UTF-8解码---
| |
SERVER_NAME--------------数据库检索--重定向
. 方法二:
既然MS要弄个UTF-8方式发送URL这等“狠毒”的办法,俺们也不
是省油的灯啦,再加上又懒,不想去啃大堆大堆的UTF-8编码方法。
处理英文的时候我们只做一个文件default.asp就可以搞定了,
那们我们就累上一累,再多写个show.asp文件。
在default.asp中定义一个上下帧,下帧的
src=show.asp?SERVER_NAME=http://无语.126.com。
通过这么一个中转,将URL转为以get方式传递的参数,自然就
不存在UTF-8的编码方式啦。然后我在show.asp中获取这个SERVER_NAME,
分析,数据库检索,重定向。。。。
具体的代码:
<script>
document.write("<FRAMESET ROWS=/",/", COLS=/"0,*/">");
document.write("<FRAME SRC=/"/" NAME=/"/">");
document.write("<FRAME SRC=/"redirect.asp?SERVER_NAME="+window.location.hostname+"/" NAME=/"/">");
document.write("</FRAMESET>");
</script>
注:在这里用javascript中的window.location.hostname取得
用户提交URL,并转向redirect.asp,以此跳过UTF-8编码问题。
BTW: 其实虚拟域名的重点在于*.126.com的泛域名解析上面,这是基础的基础,若是你无法做你的dns记录,那就只好盯着别人的虚拟域名流口水喽。
一、真实域名。
以设置wuyu.126.com的域名为例。在126.com的dns服务器上,
做wuyu的A记录(若需要使用xxx@wuyu.126.com的邮件,再增加一
条相应的mx记录即可),自然喽,要想在你的个人主页上使用这个
域名,你就快烧香拜佛的请免费空间提供商替你加个相应的主机
头吧,呜呜!
二、虚拟域名。
上面这种“正统”的方法固然很“帅”,但是,每增加一条
A记录,就需要折磨我们的系统管理员大哥,累啊!(要是做网
易的xxx.126.com也这么做的话,怕是要累出人命来哦!)
其实xxx.126.com的“虚拟域名”就在于这个“虚拟”上面,
网易对126.com做了泛域名解(*.126.com),当客户端请求
wuyu.126.com时,置于126.com的程序分析出"wuyu"这个用户名,
自数据库中检索出该用户所对应的ip,然后重定向过去。
为了让wuyu.126.com变得更加真实一些,一般都是做一个上
下的两帧页面,top帧的高度为0,下面的帧用于显示重定向后的
网页。通过这种手段,访用者在地址栏上看到的永远是
wuyu.126.com的地址。
1、泛域名解析
. 对于unix/linux/bsd的用户,只需要添加一条"*.126.com"的记录即可。
. nt4的dns,依"com --> 126 " 打开“126”域,添加一条"*"的A记录即可。
. win2k需要在126域下新加一“*”域,然后添加名称为空的A记录。
2、建立126.com的web站点
注意的是,在建立这个站点的时候,不要添加"126.com"的主机头,
否则,用xxx.126.com就无法访问到此站点了。
3、程序实现。
当访问者访问"http://wuyu.126.com"或键入“wuyu.126.com”访问
时,取“SERVER_NAME”的环境变量,分析得到"wuyu",然后做数据库检
索,获得相对应的ip地址,再跳转。
三、关于中文虚拟域名。
IE在处理中文URL请求时,其默认值为“始终以UTF-8方式发送
URL”,因此,在126.com处理“http://无语.126.com”的中文虚拟
域名时,并不能得到“无语”的用户名,而是获得经过UTF-8编码的
字符,牵一发动全身,随后的数据库检索也相应的受到影响。
. 方法一:
----UTF-8解码---
| |
SERVER_NAME--------------数据库检索--重定向
. 方法二:
既然MS要弄个UTF-8方式发送URL这等“狠毒”的办法,俺们也不
是省油的灯啦,再加上又懒,不想去啃大堆大堆的UTF-8编码方法。
处理英文的时候我们只做一个文件default.asp就可以搞定了,
那们我们就累上一累,再多写个show.asp文件。
在default.asp中定义一个上下帧,下帧的
src=show.asp?SERVER_NAME=http://无语.126.com。
通过这么一个中转,将URL转为以get方式传递的参数,自然就
不存在UTF-8的编码方式啦。然后我在show.asp中获取这个SERVER_NAME,
分析,数据库检索,重定向。。。。
具体的代码:
<script>
document.write("<FRAMESET ROWS=/",/", COLS=/"0,*/">");
document.write("<FRAME SRC=/"/" NAME=/"/">");
document.write("<FRAME SRC=/"redirect.asp?SERVER_NAME="+window.location.hostname+"/" NAME=/"/">");
document.write("</FRAMESET>");
</script>
注:在这里用javascript中的window.location.hostname取得
用户提交URL,并转向redirect.asp,以此跳过UTF-8编码问题。
BTW: 其实虚拟域名的重点在于*.126.com的泛域名解析上面,这是基础的基础,若是你无法做你的dns记录,那就只好盯着别人的虚拟域名流口水喽。