1. 程式人生 > >如何讓php自動進行二級域名泛解析

如何讓php自動進行二級域名泛解析

最近,受朋友委託,幫忙寫一套多使用者部落格系統,要求每一個註冊使用者根據會員名自動生成二級域名指向,比如:你註冊的使用者名稱是:hengbo,主站域名:cycf.org.cn,那這個使用者的部落格地址是:hengbo.cycf.org.cn;首先我想到的是用泛域名解析,然後修改apache中的虛擬主機繫結,

第一步:開啟域名解析伺服器,新增一條A記錄,其中,“主機名”填寫“*” ,“指向”填寫為自己網站的伺服器IP。這樣所有//北京php培訓

*.cycf.org.cn 都指向202.20.88.44 所以不管你申請什麼名字,如:chenwenming.cublog.cn 都解析到這個IP上。最主要的是apache的配置了。

將所有的虛擬主機段先刪除,加入

ServerName localhost  //北京php培訓

ServerAlias *

UseCanonicalName OFF

VirtualDocumentRoot D:/www/%1

ServerName在這裡不起作用,ServerAlias會將域名解析到D:/www下對應的目錄,北京php培訓這樣就不用每次都修改httpd.conf檔案了。

需要注意的是使用VirtualDocumentRoot指令需要載入mod_vhost_alias模組,php培訓,北京php培訓

去掉包含mod_vhost_alias行對應的LoadModule和AddModule前面的"#",restart一下apache就OK了

試了一下,果然很爽,可以使用

VirtualDocumentRoot /www/%2+

來實現泛解析,不過不管什麼二級域名都被解析到根目錄了,

*.cycf.org.cn 會被指向 /www/root

再想想,於是,可以用

VirtualDocumentRoot /www/%2+/%0

來實現二級域名分目錄,即

www.cycf.org.cn 會被指向 /www/root/www.cycf.org.cn

test1.cycf.org.cn 會被指向 /www/root/test1.cycf.org.cn

test2.cycf.org.cn 會被指向 /www/root/test2.cycf.org.cn

剩下的就是我們怎麼樣用php程式修改這個檔案了,每註冊一個使用者,自動生成一個資料夾,這樣就很輕鬆的實現了每個使用者都有一個二級域名
怎麼?你看不懂嗎?呵呵,讓我們的apache載入的模組檔案怎麼實現虛擬目前就可以了,就看我們是怎麼修改的了