个人域名

下面我们就先讲一下实现@虚拟域名的方方面面。  
   
    @虚拟域名的实现始于在浏览器中直接以用户和密码的方式登录FTP服务器的方法。如:在浏览器的地址栏中键入password:username@ftp://my.ftp.com,此时IE就会自动以用户   “username”   和密码   “password”登陆FTP服务器;相当于先在浏览器的地址栏中键入ftp://my.ftp.com,进入登录页面,再在提示下输入用户名和密码一样。这是为什么呢?原来在http1.1协议中,就规定实现了http的访问授权功能,形式就如同上面的password:username@FTP或是以header发送的服务器主机。然后其中的password一项可以省略,也就是说访问username@服务器主机,就等于是以username的身份访问此服务器主机一样,就样我想大家就会明白为什么我们可以用@,而不用其他的符号了吧。所以说guestbook@luyu.net,实际上就是以guestbook的用户来访问luyu.net主机,可为什么能访问到留言簿的页面呢?其实这只是个简单的页面跳转功能而以,具体的在下面将讨论到。  
   
    实现跳转的功能就是指当用户进入一个页面时,此页面会自动的链接到一个新的页面。例如:你在打http://luyu.net时,进入的其实不是http://luyu.net/index.html或是http://luyu.net/default.html而是def.html。这可是不我自作多情修改了服务器的默认连接文档,况且大部分情况上你也修改不了(因为不是自己的服务器)。其实你在打http://luyu.net时,浏览器还是先进入default.html页面,然后由里面的javascript来进行转向,不信的话,你可以打开我的default.html文档看看就知道了,不过下面我们也会把它贴出来的。  
   
    其实我的default.html文档中只有下面的几行:  
   
    <script>    
    this.location   =   "gourl.asp?user="   +   this.location.href;    
    </script>  
   
    只有短短的三行代码,其实他的作用就是实现转向,当网友输入http://bbs@luyu.net时,实际上这段代码就是将这个值赋给user变量,并转送给gourl.asp文件中去,以便处理。其实user的值关键就在于@前的http://后的那些字符,在这儿是“BBS”,而http://guestbook@luyu.net中就是“guestbook”。我们得到这些字符后,再进行相应的转向其真实的网址。  
   
    如:如果得到的值的“BBS”,我们就转到http://luyu.net/free这个网址。那么如果知道是http://luyu.net/free呢,我们可以通过文本或数据库等来来读。这里我们选择ACCESS数据库,因为管理起来比较方便,而且支持ASP的主机一般都是支持ACCESS的。  
   
    下面是库中的url表结构:  
    字段名   字段类型   字段默认值   //功能注释  
    id   int   自增   关键字   1   不用user做关键字是怕其中有中文字符  
    user   字符型   null   如BBS或GUESTBOOK的值  
    url   字符型   null   转向的网址  
    click   int   0   访问量  
   
    表里的字段很少,只有4个,网友可以根据需要再增加一些功能字段,如是否有弹出窗口广告,访问量分析等。不过必要的就是user字段和url字段,因为我们必须要得到user的值,再根据它得到其转向url网址,再在gourl.asp中实现转向就行了。  
   
    下面是gourl.asp中实现转向的全部程序(我会在程序中写下注释):  
    dim   conn,dbs   //定义变量       218.61.235.67   丹东学校主机  
    Set   conn=Server.CreateObject("ADODB.Connection")   //建立连接对象  
    dbs=server.mappath("url.mdb")   //定义要连接的数据库路径  
    conn.open   "driver={microsoft   access   driver   (*.mdb)};dbq="&dbs   //打开并实现其数据库源的链接  
    user=trim(request.querystring("user"))   //得到default.html文件中得到的在浏览器中输入的网址  
    if   user<>""   then   //当user值不为空时  
    user=replace(user,"http://","")   //将“http://”字符串从user值删去  
    at=instr(user,"@")   //将user值中“@”所在位置赋给变量at  
    else  
    response.write   "信息出错,请联系moon!"   //当user值为空时则告诉网友有错  
    end   if  
    if   at>0   then    
    user=left(user,at-1)   //当user值中“@”所在的位置大于0时,将其中的部分重赋给user,如“BBS”或“  GUESTBOOK”等值  
   
    else  
    response.redirect   "def.htm"   //如果没有得到其中的值,如打http://www.luyu.net时,就返回def.htm文件中。  
   
    response.end   //停止输出  
    end   if  
    if   user<>""   then  
    set   rs=conn.execute("select   url   from   dns   where   user='"&user&"'")   //当user值不为空时,连接数据库,将进行搜索  
    if   not   rs.eof   then  
    conn.execute(“update   url   set   click=click+!   Where   user=’”&user&”’”)//当记录不为空时,将此网站的访问量加1  
    response.redirect   rs("url")   //再转向其网站  
    else  
    response.write   "抱歉,没有这个网站!"   //记录为空时,警告网友没有此网站  
    end   if  
    set   rs=nothing    
    else  
    response.write"抱歉,没有这个域名!"   //当user的值为空时,则警告网友没有此域名  
    end   if  
    set   conn=nothing   //关闭数据库连接  
    如果想在访问虚拟域名时做个弹出窗口,以帮自己做个广告的话,可以在将上面的代码改成:  
    <script>    
    window.open("http://luyu.net","网络随笔","width=350,height=450");    
    this.location   =   "gourl.asp?user="   +   this.location.href;  
    </script>    
    好了,这样一个域名访问系统就简单的做好了。如果和PHP或是JSP等来实现的话,原理也是一样的,我相信大家看了这篇文章都可以做出来了。只是把gourl.asp文件改一下便可。


我们从域名服务商那里注册的域名(顶极域名),一般都会免费提供域名解析。但这种域名解析只能把域名解析导静态IP地址上。要想把域名解析到动态IP地址上,还需要购买动态域名解析服务。利用别名(CName)记录就可以把域名免费解析到动态IP上。

域名的几个概念 域名A记录:    A(Address)记录是域名与IP对应的记录。
 域名别名记录:别名(CName,Canonical Name)记录,是域名与域名的别名对应的记录。
 动态域名解析:A记录中域名对应的IP是静态IP,把域名解析到动态IP上,就叫动态域名解析。
                   域名服务商一般只免费提供A记录,不免费提供 动态域名解析。
如何把顶级域名免费解析到动态IP上呢?

1. 到动态域名解析服务商那里,申请1个免费的二级域名(该二级域名可解析到动态IP上)。
    提供动态域名解析服务商很多,比如:花生壳,88IP,金万维 等。
    以花生壳为例,申请免费二级域名的步骤如下:
    1)注册一个花生壳(Oray)护照;
    2)登录花生壳护照,到 域名服务 > 域名注册 > 免费域名 注册一个免费域名。
    3)然后进入 我的控制台 > 花生壳服务 > 花生壳管理,激活你注册的域名。
    4)下载花生壳客户端。
    5)安装花生壳客户端,并运行之。
    假如你在花生壳申请的二级域名是:myfpt.xicp.net。

2. 给自己的顶级域名添加别名(CName)记录。
    假如你的顶级域名是:www.abc.com
    到你的顶级域名服务商网站,在域名解析管理里,添加一个别名记录:
     myftp.abc.com  <CName> myftp.xicp.net   即,myftp.abc.com 是 myftp.xicp.net  的别名。
    以后在访问 http://myftp.abc.com 就等于 http://myftp.xicp.net
    但是浏览器中显示的依然是 http://myftp.abc.com

几点说明 1)花生壳客户端可以安装在你的局域网内的任何一台电脑上(其他动态域名解析的客户端也一样)。
 2)一个域名可以有多个别名记录,比如:
     myftp1.abc.com  <CName> myftp.xicp.net
     myftp2.abc.com  <CName> myftp.xicp.net
     myftp2.abc.com  <CName> myftp.xicp.net
     myftp1.abc.com,myftp2.abc.com,myftp3.abc.com 都是 myftp.xicp.net 的别名。

posted on 2007-05-30 13:51 leoli 阅读(325) 评论(0)  编辑  收藏 所属分类: html


只有注册用户登录后才能发表评论。


网站导航:
 

导航

<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

统计

常用链接

留言簿(6)

随笔分类

随笔档案(17)

文章分类(86)

收藏夹(3)

flex blog

good site

java blog

my friend

tools

抓虾

搜索

最新评论

阅读排行榜

评论排行榜