Apache 透過 VirtualHost 指令實現「一個 IP、多個域名」的虛擬主機功能,關鍵在於正確設定 ServerName、DocumentRoot 與 Directory 權限。
# 啟用名稱型虛擬主機 (Apache 2.4+ 通常預設啟用,舊版需顯式宣告)
NameVirtualHost *:80
# === 第一個站點 ===
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot "F:/wwwroot/dede"
ServerName www.45it.com
ServerAlias 45it.com
</VirtualHost>
# === 第二個站點 ===
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot "F:/wwwroot/wordpress"
ServerName wp.45it.com
ServerAlias blog.45it.com
</VirtualHost>
# === 兜底站點 (捕獲未匹配域名) ===
<VirtualHost *:80>
ServerAdmin admin@example.com
DocumentRoot "F:/wwwroot/htdocs"
ServerName *
ServerAlias *
</VirtualHost>
/ 或雙反斜線 \\。ServerName *) 必須放在最後。若 DocumentRoot 指向預設 wwwroot 以外的目錄(如 E:/htdocs),常遇到 403 Forbidden: You don't have permission to access / on this server。
# 原始限制性配置
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
# 修改為允許存取
<Directory />
Options Indexes FollowSymLinks
AllowOverride None
Require all granted
</Directory>
說明: Apache 2.4 使用 Require all granted 取代舊版 Order/Allow/Deny 語法。修改後重啟 Apache 即可跨目錄建立虛擬主機。
伺服器常見 14 大故障現象與排查思路全圖解:從無法開機到 RAID 卡異常
PuTTY 連接失敗「Network error: Connection refused」與亂碼終極解決方案
Windows Server 2003 搭建小型郵件伺服器四步驟:POP3/SMTP 服務安裝與配置
HP ProLiant DL160 G6 伺服器常見問題解答 (FAQ) 完整版
華為路由器 NAT Outbound 與 ACL 綁定配置詳解:Easy IP、地址池、No-PAT 三種模式
IIS 7+ web.config URL Rewrite 偽靜態完整配置指南:規則語法、參數映射與 IIS 6 遷移對照