嘉定都市网

查看:954 回复:1 发表于 2002-8-29 09:50
  • TA的每日心情
    郁闷
    2017-9-24 12:55
  • 签到天数: 2 天

    [LV.1]初来乍到

    qrcode
    跳转到指定楼层
    楼主
    发表于 2002-8-28 21:24:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

    [转帖]实现WEB中的@虚拟域名系统 [复制链接]

    马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
      找了这遍很好的东东哦,奉献给大家。大家以后不用花钱注册域名了,呵呵!
        很多网友可能发现,现在在一些网站中,特别是个人网站中发现有使用 youname@xxx.com 的虚拟域名。当我告诉我朋友的时候他们都说这不是电子邮件的地址吗?其实本来确实是的,不过要是将它输入到浏览器的地址中时,它就不是了,而是地地道道地一个子级域名。不信的话,你在浏览器中输入 http://bbs@luyu.net 和          ... .net,很酷吧。 有的网友也问为什么不用http://bbs.luyu.net和http://gue ... 地址栏中键入*.luyu.net的域名,都会先到luyu.net服务器上去请求解析解码服务,这样的话,实现起无限多个免费的“。”虚拟域名就不是难是了。关键大部分泛域名的开通是要收100到200元人民币的,所以我们暂不考虑而考虑用免费的@域名了。有的网友也问为什么不用“!#$%”其他的符号而偏偏要用@呢,这一点在看完下面的文章你自然就会明白了。

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

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

      @虚拟域名的实现始于在浏览器中直接以用户和密码的方式登录FTP服务器的方法。如:在浏览器的地址栏中键入password:username@ftp://my.ftp.com,此时IE就会自动以用户 “username” 和密码 “password”登陆FTP服务器;相当于先在浏览器的地址栏中键入ftp://my.ftp.com,进入登录 ... 面将讨论到。

      实现跳转的功能就是指当用户进入一个页面时,此页面会自动的链接到一个新的页面。例如:你在打http://luyu.net时,进入的 ... 你也修改不了(因为不是自己的服务器)。其实你在打http://luyu.net时,浏览器 ... 它贴出来的。

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

      <script>

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

      </script>

      只有短短的三行代码,其实他的作用就是实现转向,当网友输入http://bbs@luyu.net时,实际 ... 真实的网址。

      如:如果得到的值的“BBS”,我们就转到http://luyu.net/free这个网址 ... 支持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,"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文件改一下便可。


           

    此贴由 zxhpqf 在 2002-08-28 21:31:58 最后编辑
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏 转播转播 分享淘帖 支持支持 反对反对
    回复

    使用道具 打印 举报

    该用户从未签到

    沙发
    发表于 2002-8-29 09:50:35 | 只看该作者
    这是域的一种注册方法啦,如果你公司有域的话你可以试试:
    如果你的用户名是test,域为company,你可以在用户名栏里直接输入test@company登陆。
    但如果你公司的域比较大的话我建议不要这样用,这样很消耗域服务器的资源的!特别是多域的情况!
    回复 支持 反对

    使用道具 打印 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    发表新贴 返回顶部