玩轉虛擬網域名稱◎+ .
不知道大家最近上網是否發現乙個新現象,就是有一些**開始提供「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...