我可以給你說明如何使用Microsoft IIS和ASP.NET做到這一點。其他服務器和編程語言仍然適用,但具體情況會有所不同。
您需要有權訪問您的DNS設置。爲* .applicaiton.com創建一個DNS條目。我們將其作爲CNAME記錄來指向我們的www域記錄,該記錄被註冊爲與IP地址關聯的A記錄。
選項1: 在IIS 6中,創建一個網站並修改主機頭(網站屬性,網站選項卡,「網站標識」部分中的「高級...」按鈕)。添加一個空的主機標題。這將導致該IIS的Web站點回復與正在偵聽的IP地址相關的所有域的所有請求。
然後創建一個默認頁面,後面的代碼中,你將有一個看起來在每個請求的Request.UserHostName邏輯。它應該返回「user1.application.com」或「user2.application.com」或者「www.application.com」。然後,您必須解析該字符串並執行所有骯髒的工作來加載適當的頁面。
嗯,嗯,這就是你將如何動態地使用一個網站。重新閱讀你的問題,你談論「靜態」登錄頁面。爲此你有兩個選擇。您可以創建靜態登錄頁面,並讓您的動態頁面讀取這些文件並將其作爲響應發送出去,或者選項二將作爲響應...
選項2: 在IIS中,爲每個用戶創建一個新的網站。如上所述修改主機標題,以便每個網站只有一個主機標題等於用戶的登錄名。沒有一個空主機頭的網站。您必須創建一個網站並手動爲每個新用戶添加主機頭。
這兩個選項都不會聽起來很優雅,但選項1確實工作得很好。我們以類似的方式使用它來託管我們應用程序的多個「皮膚」。
登錄頁面 - 如在哪裏輸入用戶名和密碼 - 是自定義的嗎?或者之後立即定製頁面(他們的「主頁」頁面或儀表板)? – 2010-06-17 01:01:23
如果由於尚未登錄而不知道用戶是誰,您如何知道用戶要向他們顯示自定義登錄頁面? – 2010-06-17 08:57:16
用戶輸入名稱和密碼的頁面是自定義的。我不需要知道用戶是誰,不同的用戶將在不同的位置有着陸頁。 – Goro 2010-06-17 20:41:46