IIS 建立兩個虛擬目錄 testbaseMM、testbaseNN,均設置主機頭 www.testbase.com。IIS 允許設置成功無衝突提示,但瀏覽器訪問 www.testbase.com 時會命中哪個站點?
IIS 綁定三元組:**IP:Port:HostHeader**。
同一 IP:Port 下允許**多個站點/虛擬目錄共用主機頭**,但**物理路徑不同**。請求到達時,IIS 僅按 HostHeader 路由到**同一站點**(默認網站),無法自動區分虛擬目錄。
https://www.testbase.com/ → 映射到**默認網站根目錄**(或第一個匹配綁定的站點根目錄)。https://www.testbase.com/testbaseMM/ → 訪問虛擬目錄 testbaseMM 對應的物理路徑。https://www.testbase.com/testbaseNN/ → 訪問虛擬目錄 testbaseNN 對應的物理路御。| 誤解 | 事實 |
|---|---|
| 同主機頭會衝突報錯 | IIS 允許同主機頭不同路徑,僅路由到同一站點 |
| 瀏覽器自動選對虛擬目錄 | 必須在 URL 顯式包含虛擬目錄名 |
| 可用主機頭區分虛擬目錄 | 主機頭只能區分站點,不能區分同站點下的虛擬目錄 |
siteA.testbase.com、siteB.testbase.com,各自綁定獨立站點、獨立應用程序池,隔離度最高。www.testbase.com/moduleA/、/moduleB/,共用主機頭、應用程序池,部署簡單。siteA.testbase.com 代理到 www.testbase.com/testbaseMM/,對外呈現獨立域名。# 查看站點綁定
appcmd list site
appcmd list vdir
結論:同主機頭多虛擬目錄**不沖突**,但**必須通過 URL 路徑區分訪問**,無法裸域名自動路由到特定虛擬目錄。