首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

Apache 2.2 虛擬主機配置:實現多域名綁定完整教程

     編輯:PHP 綜合知識

環境準備

  • 作業系統:Windows 7
  • PHP 版本:5.3.x
  • MySQL 版本:5.0.27
  • Apache 版本:2.2.4 (Win32)
  • WAMP 安裝路徑:D:\wamp\

核心配置步驟

1. 編輯 httpd.conf 啟用虛擬主機

打開 D:\wamp\bin\apache\Apache2.2.17\conf\httpd.conf,在文件末尾添加:

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot "D:\wamp\www\bbs"
    ServerName www.a.com
</VirtualHost>

2. 關鍵指令解析

指令說明注意事項
NameVirtualHost *:80啟用基於名稱的虛擬主機,監聽 80 端口必須放在所有 <VirtualHost> 之前
<VirtualHost *:80>定義一個虛擬主機塊* 可替換為具體 IP(如 192.168.1.11)
DocumentRoot網站根目錄路徑使用正斜槓或雙反斜槓
ServerName主域名需與 hosts 文件映射一致

3. 修改系統 hosts 文件

路徑:%SystemRoot%\system32\drivers\etc\hosts(通常為 C:\Windows\System32\drivers\etc\hosts)

添加映射:

127.0.0.1 www.a.com

4. 重啟 Apache 並驗證

  1. 重啟 Apache 服務(WAMP 面板或命令行 httpd -k restart)
  2. 瀏覽器訪問 https://www.a.com,應指向 D:\wamp\www\bbs

多站點擴展範例

NameVirtualHost *:80

<VirtualHost *:80>
    DocumentRoot "D:\wamp\www\site1"
    ServerName www.site1.com
    ServerAlias site1.com
</VirtualHost>

<VirtualHost *:80>
    DocumentRoot "D:\wamp\www\site2"
    ServerName www.site2.com
    ServerAlias site2.com
</VirtualHost>

常見問題排查

  • 403 Forbidden:檢查 <Directory> 權限,確保 Require all granted(Apache 2.4)或 Allow from all(Apache 2.2)
  • 域名解析失效:確認 hosts 文件生效(管理員權限編輯)、瀏覽器清除 DNS 緩存
  • 端口衝突:確保 80 端口未被 IIS、Skype 等佔用

進階提示

  • 生產環境建議使用 ServerAlias 支援 www/非 www 雙域名
  • 配置 ErrorLog、CustomLog 獨立日誌便於排查
  • 考慮啟用 mod_rewrite 支援 URL 重寫

完成上述配置後,即可在單一 Apache 實例上運行多個獨立域名站點,極大提升開發測試效率。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved