玩轉虛擬網域名稱

2022-04-02 10:13:16 字數 1868 閱讀 5926

玩轉虛擬網域名稱◎+ .

不知道大家最近上網是否發現乙個新現象,就是有一些**開始提供「username@server」的虛擬網域名稱服務。由於「@」的魅力,大家紛紛申請,你或許會想:「如果我也能提供這種服務,該多好阿:)人氣肯定不錯!」本文將給大家揭開「@」的「神秘」面紗,讓大家都可以來「@」!(do u @ today?)

別急,這個並不是電子郵件的位址,是一種虛擬網域名稱,不相信的話可以在瀏覽器中訪問「bbs@zphp(做為現在的主流開發語言).com」。部分朋友應該使用過ie的ftp功能,就是在瀏覽器的位址列中鍵入「password:username@server」ie就會自動登陸ftp伺服器;而在http1.1協議中,就規定了http訪問授權功能,形式同樣為「password:username@server」,其中「password:」可以省略,也是是訪問「bbs@zphp(做為現在的主流開發語言).com」實際上是以bbs的身份訪問「zphp(做為現在的主流開發語言).com」這個伺服器。

那麼我們只是需要將具體的uri傳送給php(做為現在的主流開發語言)程式,在資料庫中搜尋出真實的url重定向就可以了。

首先我們需要製作乙個傳送uri的頁面(作為伺服器的預設文件,一般命名為index.htm);在js的window物件中就可以實現這項功能,下面是index.htm的源**:

上面的**會將瀏覽器重定向到gotourl.php(做為現在的主流開發語言),並且通過querystring給變數$url賦值為當前的uri。

成功將uri傳遞給php(做為現在的主流開發語言)程式後,就可以進入資料庫查詢真實url,下面是sql資料庫相對應的table 的結構:

create table domain(

id int(3) unsigned default 『0』 not null, # 網域名稱id

domain char(20) not null, # 網域名稱

gotourl char(255) not null, # 真實的url

);建立好了table,就可以開始編寫gotourl.php(做為現在的主流開發語言)了,程式分為三個部分:

1、 分析url:

$url = preg_replace(「/^http:\/\//i」, 「」, $url); // 將url前面的「http://」去掉,不區分大小寫

$url = preg_replace(「/@.+$/」, 「」, $url); // 將「@」後面的部分去除

那麼,剩下的url就只含有「username」的部分了。

為了給資料庫應用,需要對銘感的字元進行處理:

$url = addslashes($url);

2、 搜尋真實的url:

這裡為了實現程式的通用性,使用了乙個資料庫的操作類(修改自php(做為現在的主流開發語言)lib)來操作sql資料庫:

$db = new dbsql(); // 連線資料庫

$querystring = sprinf(「select gotourl from domain where domain=』%s』;」, $url); // 生成查詢字串

$gotourl = $db->result($querystring); // 查詢取得結果

3、 重定向:

在php(做為現在的主流開發語言)中重定向瀏覽器有多種方法,在這裡使用比較簡單的httpheader來實現:

header(「location: $gotourl」);

附其實像網易那樣子的「username.yeah.net」的虛擬網域名稱服務和「@」的實現方法大同小異,但是「.」需要以價值200元的dns泛解析為代價,而「@」所需要的僅僅是:

1、 php(做為現在的主流開發語言)/sql資料庫的許可權;

2、 真正dns解析的網域名稱。

如果需要在虛擬網域名稱服務中加入廣告,比如網易的popup視窗,可以將重定向部分改為:

玩轉虛擬網域名稱

玩轉虛擬網域名稱 不知道大家最近上網是否發現乙個新現象,就是有一些 開始提供 username server 的虛擬網域名稱程式設計客棧服務。由於 的魅力,大家紛紛申請,你或許會想 如果我也能提供這種服務,該多好阿 人氣肯定不錯!本文將給大家揭開 的 神秘 面紗,讓大家都可以來 do u today...

Apache配置虛擬網域名稱

apache配置檔案的修改。apache httpd.conf,開啟httpd.conf檔案。1 找到 loadmodule rewrite module modules mod rewrite.so 把前面的 去掉。2 打到以下 斷 options followsymlinks allowover...

Xampp Apache 配置虛擬網域名稱

1.找到 c盤 window system32 drivers etc hosts檔案用記事本開啟,往裡面新增 2.找到在c盤xampp目錄進入apache conf extra httpd vhosts.conf檔案,記事本開啟在最後新增 serveradmin admin xiaoq.com d...