1. 程式人生 > >做自己的二級域名指向系統

做自己的二級域名指向系統

現在有些服務商提供了註冊一個頂級域名送20個二級域名的服務,可是有的站長會覺得
不夠用,其實可以通過程式自己做二級域名,就象 126.com一樣。
一,泛域名
最重要的,你需要一個泛域名,泛域名是指DNS會把所有xxx.domain.com(xxx是任意字
符)形式的域名全部解析到一個指定IP地址,沒有這個條件,下面的就不用想了,前面說
的送20個子域名,那是在DNS上設定的,並不是泛域名。怎麼知道你的域名是不是泛域名
呢?比如 126.com,在瀏覽器位址列輸入www.126.com 或 126.com時,可以看到正確的
首頁面,如果是輸入 xxx.126.com (xxx是任意字元),瀏覽器就找不到地址了,那麼
這就不是泛域名。怎麼才能得到泛域名呢?如果你已經有一個域名,而且註冊時沒有特
別說明,那你就不用試了,肯定不支援的,我還沒發現哪個域名商現在是預設支援泛域
名的,都是要你特別提出,並且要加錢才可以的。 當你要註冊頂級域名之前,要問清楚
這個域名商是否可以給你泛域名,以及要加多少錢,我發現有的域名商根本就不支援泛
域名,甚至有的商家或代理根本不知道這麼回事(暈倒)。所以你一定要先問清楚哦。

二,域名管理系統
1.域名管理系統主要是一個解析程式。工作原理是:
1)接收指向預設網站的URL;
2)分析URL資料,看他是不是已經註冊過的;
3)如果是註冊過的,從資料庫中提取使用者指定的二級域名指向;重定向過去或者隱含框
架就行了.

2.  一個域名管理系統幾個基本要求是要滿足
1、使用者可以自己申請和管理
2、可以選擇是隱含框架還是轉向
3、如果是隱含框架,使用者可以自己改title
4、目標路徑允許的字元數要儘可能多
5、yourname.netmiss.net ,這裡的yourname允許的字元也要儘可能多.

3.一段簡單的解析程式:(是隱含框架的)
<!--#include file="conn.asp"-->
<%
dim geturl
geturl=replace(Request.ServerVariables("HTTP_HOST"),"www.","")

set rs=server.createobject("adodb.recordset")
sql="select * from tb where nowurl=''"&geturl&"''"
rs.open sql,conn,1,1
if rs.eof then
response.redirect"
http://www.51bxg.com/miss.html
;
else
dim tourl,company
tourl=rs("tourl")
company=rs("company")
%>
<HTML>
<HEAD>
<META http-equiv="Content-Type" content="text/html; charset=gb2312">
<META CONTENT="text/html; CHARSET=UTF-8" HTTP-EQUIV="Content-Type">
<TITLE><% =company %></TITLE>
</HEAD>


<frameset frameborder="0" framespacing="0" scrolling="no" border="0"
marginheight="0" marginwidth="0" rows="0,*">
<frame scrolling="NO" noresize="0" marginwidth="0" marginheight="0"
framespacing="0" frameborder="0" target="main" name="main"
SRC="about:blank">

<frame scrolling="yes" noresize="0" marginwidth="0" marginheight="0"
framespacing="0" frameborder="0" target="main" name="main" SRC="<% =tourl %
>">

<noframes>
<body>
This page uses frames, but your browser doesn''t support them.</body>
</noframes>
</frameset>
</HTML>
<% end if %> 

三,支援上面兩個條件的主機
最好有一臺獨立的伺服器。泛解析的域名指向該伺服器。如果是虛擬主機的話,就要向虛
擬主機提供商問清楚虛擬空間是否滿足1,2兩個條件.


Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=645215