快速业务通道

实现Web中的@虚拟域名系统(原理篇)(2)

作者 佚名技术 来源 服务器技术 浏览 发布时间 2012-07-06

下面是库中的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 //定义变量
  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文件改一下便可。 关键词:

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号