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

找到了这遍很好的东东哦,奉献给大家。大家以后不用花钱注册域名了,呵呵!


  很多网友可能发现,现在在一些网站中,特别是个人网站中发现有使用youname@xxx.com的虚拟域名。当我告诉我朋友的时候他们都说这不是电子邮件的地址吗?其实本来确实是的,不过要是将它输入到浏览器的地址中时,它就不是了,而是地地道道地一个子级域名。不信的话,你在浏览器中输入url.gifhttp://bbs@luyu.neturl.gifhttp://guestbook@luyu.net看看。是不是发现他们是两个不同的地址呢,前者是本站BBS登录页,后者是本站留言簿,而本站却是首页是url.gifhttp://luyu.net,很酷吧。 有的网友也问为什么不用url.gifhttp://bbs.luyu.neturl.gifhttp://guestbook.luyu.net做虚拟域名呢,这才是真正的二级子域名啊。因为这在实现方面没什么不同,只是“。”在域名中的作用可大不一样,你可以用url.gifhttp://www.luyu.net访问,确不是url.gifhttp://www@luyu@net吧,因为“。”要考虑到一个解析解码的问题。所以要做“。”的虚拟域名必须要让域名服务商开通泛域名的作用,就是只要在浏览器的地址栏中键入*.luyu.net的域名,都会先到luyu.net服务器上去请求解析解码服务,这样的话,实现起无限多个免费的“。”虚拟域名就不是难是了。关键大部分泛域名的开通是要收100到200元人民币的,所以我们暂不考虑而考虑用免费的@域名了。有的网友也问为什么不用“!#$%”其他的符号而偏偏要用@呢,这一点在看完下面的文章你自然就会明白了。

  通过本文章你就可以做出属于自己的@域名了。到时候自己就是管理员,想加什么链接都可以,包括中文的,想想直接打http://壁纸@luyu.net那多爽啊。不过中文要注意的是UTF-8规范问题。

  下面我们就先讲一下实现@虚拟域名的方方面面。

  @虚拟域名的实现始于在浏览器中直接以用户和密码的方式登录FTP服务器的方法。如:在浏览器的地址栏中键入password:username@url.gifftp://my.ftp.com,此时IE就会自动以用户 “username” 和密码 “password”登陆FTP服务器;相当于先在浏览器的地址栏中键入url.gifftp://my.ftp.com,进入登录页面,再在提示下输入用户名和密码一样。这是为什么呢?原来在http1.1协议中,就规定实现了http的访问授权功能,形式就如同上面的password:username@FTP或是以header发送的服务器主机。然后其中的password一项可以省略,也就是说访问username@服务器主机,就等于是以username的身份访问此服务器主机一样,就样我想大家就会明白为什么我们可以用@,而不用其他的符号了吧。所以说guestbook@luyu.net,实际上就是以guestbook的用户来访问luyu.net主机,可为什么能访问到留言簿的页面呢?其实这只是个简单的页面跳转功能而以,具体的在下面将讨论到。

  实现跳转的功能就是指当用户进入一个页面时,此页面会自动的链接到一个新的页面。例如:你在打url.gifhttp://luyu.net时,进入的其实不是url.gifhttp://luyu.net/index.html或是url.gifhttp://luyu.net/default.html而是def.html。这可是不我自作多情修改了服务器的默认连接文档,况且大部分情况上你也修改不了(因为不是自己的服务器)。其实你在打url.gifhttp://luyu.net时,浏览器还是先进入default.html页面,然后由里面的javascript来进行转向,不信的话,你可以打开我的default.html文档看看就知道了,不过下面我们也会把它贴出来的。

  其实我的default.html文档中只有下面的几行:

  <script> 

  this.location = "gourl.asp?user="   this.location.href; 

  </script>

  只有短短的三行代码,其实他的作用就是实现转向,当网友输入url.gifhttp://bbs@luyu.net时,实际上这段代码就是将这个值赋给user变量,并转送给gourl.asp文件中去,以便处理。其实user的值关键就在于@前的http://后的那些字符,在这儿是“BBS”,而url.gifhttp://guestbook@luyu.net中就是“guestbook”。我们得到这些字符后,再进行相应的转向其真实的网址。

  如:如果得到的值的“BBS”,我们就转到url.gifhttp://luyu.net/free这个网址。那么如果知道是url.gifhttp://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 //定义变量

  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,"url.gifhttp://";,"") //将“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" //如果没有得到其中的值,如打url.gifhttp://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("url.gifhttp://luyu.net";,"网络随笔","width=350,height=450"); 

  this.location = "gourl.asp?user="   this.location.href;

  </script> 

  好了,这样一个域名访问系统就简单的做好了。如果和PHP或是JSP等来实现的话,原理也是一样的,我相信大家看了这篇文章都可以做出来了。只是把gourl.asp文件改一下便可。

转载于:https://www.cnblogs.com/cider/archive/2004/04/21/6882.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
天天企业网站管理系统简繁英三语版(TianTian CMS),是天天网络科技工作室集思广益、博采众长开发的一个企业自助建站软件,是建站快捷、功能齐全、功能强大、后台系统管理方便、高性价比的企业网站内容管理平台,可以帮您迅速、轻松地构建起一个强大专业的企业网站。主要功能模块有企业信息、新闻动态、产品展示、资源下载、人才招聘、支持服务、会员心、留言反馈等。会员可用QQ快速登录。可在线订购产品和实时支付。运行环境:ASP+ACCESS(或ms sql),采用DIV+CSS构架,使网页整洁美观。代码用UTF-8编码,通用性比较好,适合国内外服务器和浏览器,兼容Firefox、Maxthon、TT等常用浏览器。网站可自由切换语言,分为简体文、繁体文和英文,后台各项内容管理为文和英文同时添加;后台可以控制是否生成Html静态页面,全站生成静态 。采用模板化和标签调用,扩展性强,可任意修改网页布局、风格;SEO搜索优化,最大限度的优化页面打开速度并更利于搜索引擎的收录。后台有强大的广告管理功能。删除文章或产品时同时删除相关的图片和文件,也可一键删除没用的图片或文件,防止垃圾产生。程序通用性强,参数后台自定义,只要在后台设置好网站基本信息和分类栏目,不懂网页制作者也可轻松建站,管理网站更方便。天天企业网站管理系统简繁英三语版是企业、政府机关、学校等单位建站的最佳选择! TianTian CMS具有以下十大优点: 一、轻松实现多语言切换和UTF-8的兼容性 具有简繁英三语切换,您还可以设置语言站点域名、主域名默认语言版本。代码用UTF-8编码,通用性比较好,适合国内外服务器和浏览器,兼容Firefox、Maxthon、TT等常用浏览器。 二、丰富美观的网站模板 具有丰富的模板供用户下载使用,用户还可以选择自己设计模板,灵活的标签可以满足用户千变万化的展示效果。模板化后有利于程序升级。 三、内容调用标签化 实行内容调用标签化,只要设置好标签的参数,即可灵活调用各频道的内容,更利于设计不同风格的页面。 四、强大的广告管理。 后台有符合广告规范的、功能强大的广告管理,广告类型丰富,有图片、代码、弹窗、走马灯、对联、浮动、滚动、视频、Flash、FLV等广告。 五、多种页面输出模式 自主开发的模板引擎,可以任意支持整站纯静态、asp动态数据库输出,用户可以根据自己服务器或虚拟主机的特点,选择相应的模式减少服务器负载! 六、灵活便捷的SEO设置 能够通过后台自定义各类关键字、自动生成关键字、内链管理、自定义URL形式等多项优化技术确保SEO性能以及易用性,提高搜索引擎的收录质量。 七、便捷设置的支付接口 系统集成了国内和国际主流支付插件,包括:支付宝、财付通,我们还可以根据您的需要随时定制更多的接口,让您轻松开展国内和国外业务。 八、清理垃圾方便 在管理不单注重表面,更注重内在管理,在删除信息时同时删除相关图片和文件,也可后台一键删除有关图片文件,使您的网站保持整洁。 九、功能实用、易用 以功能实用,管理方便为出发点。系统界面友好、结构清晰、极易操作,符合国人电脑水平和网站管理习惯,企业管理人员可兼职管理网站,减少开支。 十、高性价比,服务持久 自主开发,以低价推出,目的是使广大企业能用上物美价廉的产品,没有必要使用盗版和垃圾源码,减少企业支出。可谓“平民价格,贵族享受”。天天网络科技技术保证,服务及时,升级方便,用户可享受优质的售后服务。 后台管理地址:http://***/admin/ 管理员:admin 密码:admin888 后台认证码:admin 本程序分为免费版(有一定功能限制,不影响主体功能,无任何服务)、标准版(access数据库)、企业版(ms sql数据库) 各版本区别见http://www.ip126.com/enterprise/xtjj/989.html 正式使用建议购买正式版,价格见http://www.ip126.com/enterprise/shfw/988.html 标准版测试地址(access):http://demo.ip126.com 企业版测试地址(ms sql):http://qy.ip126.com '===================================== '天天企业网站管理系统 TianTianCMS '天天网络科技工作室版权所有 '官方客服心 http://www.ip126.com '技术支持论坛 http://bbs.ip126.com/ 'QQ:530051328 mail:bdunion@126.com '=====================================
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值