信息來源:5D論壇
文章作者:天亮了
前些天看到一篇關(guān)于使用Http1.1協(xié)議支持"password:username@server',(其中"password:"可以省略)的文章,(呵呵,有些過時(shí)啦!),突來的想法,決定根據(jù)這個(gè)特性寫一個(gè)實(shí)現(xiàn)@虛擬域名轉(zhuǎn)向(http://xxx@xxx.xxx)的系統(tǒng).
由于最開始一直在ASP中鉆研,總是沒辦法獲得http://xxx@xxx.com的完全地址,無從入手,今得how172兄的提醒
www.blueidea.com/bbs/newsdetail.asp?id=1179134&posts=current
先使用JS取得當(dāng)前頁(yè)地址,然后轉(zhuǎn)向,才恍然大悟,花了兩個(gè)小時(shí)完成了這個(gè)系統(tǒng)的雛形(源代碼在帖頂!).
給大家我的思路,希望對(duì)某些感興趣的朋友些許幫助:
首先必須有自己的頂級(jí)域名:-),還要犧牲自己的首頁(yè)index.asp的命名(比如說:將首頁(yè)改名為index1.asp,不過在程序里可以通過判斷將沒有帶@參數(shù)的域名再跳轉(zhuǎn)到首頁(yè)).
首先在將域名所在根目錄下的默認(rèn)首頁(yè)index.asp作為獲取@前參數(shù)跳轉(zhuǎn)
index.asp
CODE:
[Copy to clipboard]
go.asp處理域名并實(shí)現(xiàn)跳轉(zhuǎn)
CODE:<%'數(shù)據(jù)庫(kù)連接,存放用戶注冊(cè)信息,內(nèi)容為域名,以及域名所指向的具體URL地址,域名訪問簡(jiǎn)單記數(shù),以及一些用戶信息%>
<%
'獲取URL參數(shù)
url=request.QueryString("url")
'判斷是否是以虛擬@域名形式傳遞過來
if instr(url,"@")=0 then
'如果沒有則直接跳轉(zhuǎn)到自己的首頁(yè)index1.asp
response.Redirect("index1.asp")
else
'處理url參數(shù),取得http://username@domain.com中的username
url=right(url,(len(url)-len("http://")))
url=left(url,(instr(url,"@")-1))
user=url
'從數(shù)據(jù)庫(kù)中取出于username對(duì)應(yīng)的轉(zhuǎn)向目標(biāo)url地址
set rs=conn.execute("select siteurl from url where user='"&user&"'")
if rs.bof or rs.eof then
'如果沒有記錄則顯示:該域名不存在
response.Write("
該域名不存在