用會員帳號建立動態子網域的主機設定

最近遇到一個案例是想讓每個會員都能擁有自己的子網域,比方說某個會員在這網站上建立了一個test321的帳號,那麼系統就會自動新增test321.diimii.com的子網域,並存放個人頁面與資料。
用會員帳號建立動態子網域的主機設定

大部份的系統都是用某支程式來做會員的首頁,如
http://www.xx.com/user/index.php?id=1 或是
http://www.xx.com/user/index.php?account=test321

所以做法的重點,就是想辦法讓子網域去對應會員程式,如
http://test321.xx.com 對應
http://www.xx.com/user/index.php?account=test321


若是自己管理主機,那麼得先設定DNS及APACHE:
1. DNS新增A設定
* 14400 IN A 207.210.64.5 //自己網站的IP

2a. APACHE的httpd.conf直接新增ServerAlias
ServerAlias *.diimii.com //自己網站的domain

2b. 如是用<VirtualHost>標籤在httpd.conf建立多個網站

<VirtualHost 207.210.64.5:80>
DocumentRoot /userdata/diimii/public_html
ServerAlias *.diimii.com
ServerName www.diimii.com
</VirtualHost>

註:2a或2b視情況擇一使用


若是使用虛擬主機,有Cpanel可以新增子網域:
Cpanel增加子網域

建立動態子網域設定
新增動態子網域設定

完成
建立動態子網域完成


註1:主機設定是必備的工作,看是自己管理主機,還是使用虛擬主機,選擇適合的方法

註2:接續看下篇子網域對應會員帳號的轉址程式及設定

您可能也會喜歡…

3 個回應

  1. 米米表示:

    感謝教學唷~~
    我想請問一下
    1. DNS新增A設定
    是新增 cname 嘛?
    (我測試server2003 DNS server 只能存 cname/新增主機的話不能輸入* )

  2. ANDY表示:

    server2003我沒有在用,所以不清楚你的問題,你可以試著在google找尋”windows server 2003 wildcard dns”這樣的詞彙,應該會有你需要的資訊…以下是我找到的操作步驟:
    1. Open the DNS Console
    2. Expand Forward Lookup Zones
    3. Right click and add a new zone
    4. Zone type is Primary (AD Integrated or not, doesn’t matter).
    5. Name the zone . (just a dot on its own)
    6. If using standard primary it will call the zone name root.dns (depending on the version of Windows)
    7. Once the zone has been created select it
    8. Right click and add a new Host (A) Record
    9. Enter the name * (this is our Wildcard)
    10. Enter the IP address you wish to send the name to (IP of the IIS server)

  3. 米米表示:

    第一次玩DNS整個很鬼打牆
    感謝您的回覆~
    這關鍵字就是我要找的東西了~

    感恩唷^^
    我再試試看!

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *