個人域名

          下面我們就先講一下實現@虛擬域名的方方面面。  
             
              @虛擬域名的實現始于在瀏覽器中直接以用戶和密碼的方式登錄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("    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 閱讀(342) 評論(0)  編輯  收藏 所屬分類: html


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           

          導航

          <2025年5月>
          27282930123
          45678910
          11121314151617
          18192021222324
          25262728293031
          1234567

          統計

          常用鏈接

          留言簿(6)

          隨筆分類

          隨筆檔案(17)

          文章分類(86)

          收藏夾(3)

          flex blog

          good site

          java blog

          my friend

          tools

          抓蝦

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 池州市| 宝坻区| 信丰县| 丹巴县| 阜阳市| 南召县| 喀喇沁旗| 曲靖市| 铜梁县| 拉萨市| 安仁县| 柘城县| 阿拉善盟| 堆龙德庆县| 汾阳市| 马关县| 新化县| 长海县| 元谋县| 东明县| 新巴尔虎左旗| 昌黎县| 九江市| 贵州省| 吉水县| 巴塘县| 印江| 固安县| 铜山县| 仪陇县| 和政县| 喀喇| 霍城县| 富阳市| 呼和浩特市| 山西省| 黑龙江省| 浮梁县| 元氏县| 麦盖提县| 安宁市|