核心原理:泛域名解析 + 域名識別 + 數據隔離
類似淘寶店鋪、攜購網店系統,每個用戶擁有獨立國際域名(如 www.yifull.com),但共用同一套程式碼與資料庫。
四步實作流程
- 資料庫設計:在店鋪表新增
Domain 欄位儲存綁定域名。
- DNS 泛解析:將
*.shopxg.com 指向伺服器 IP,所有子域名自動導向同一站點。
- 域名識別:在進入頁面(如
ShopLogin.aspx)時,透過 Request.ServerVariables["SERVER_NAME"] 或 URL Rewrite 獲取當前域名。
- 數據匹配:依域名查詢資料庫獲取對應店鋪 ID,載入專屬界面與數據。
關鍵優化與坑點
- 效能優化:首次訪問將店鋪 ID 寫入 Cookie,後續請求直接讀取 Cookie 避免重複查庫。
- Cookie 隔離:設定 Cookie Domain 為當前域名,防止跨店鋪登入狀態污染(如 A 店登入導致 B 店也登入)。
- 訂單隔離:嚴格驗證請求域名與 Cookie 域名一致,避免訂單數據錯亂。
此架構適用於 SaaS 多租戶系統,核心在於「共享程式碼、隔離數據、域名路由」。