实现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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: 用反向代理技术保护Web服务器(1)下一篇: 多服务器的日志合并统计(1)
关于实现Web中的@虚拟域名系统(原理篇)(2)的所有评论