Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> 電腦軟體教學 >> 伺服器技術 >> 關於伺服器

Apache 設定獨立網域 (虛擬主機) 完整教學:本地開發環境多專案管理

編輯:關於伺服器

為何需要本地獨立網域?

開發多個專案 (CMS、框架、自製系統) 時,各自綁定獨立網域 (如 guestbook.com、phpmyadmin.com) 可:

  • 避免 localhost/project1 路徑層級差異導致相對路徑、Cookie、Session、重寫規則失效。
  • 模擬正式環境主機頭辨識邏輯。
  • 瀏覽器直接輸入網域即可存取,效率大增。

步驟 1:安裝 Apache

  • 下載 Apache for Windows (如 httpd-2.2.x-win32-x86-openssl.msi)。
  • 安裝過程 Network Domain / Server Name 填 127.0.0.1,Email 隨意。
  • 安裝完成瀏覽 https://localhost 出現 It Works! 即成功。

步驟 2:修改 httpd.conf (位於 apache\conf\)

  1. 註解掉預設 DocumentRoot 與 <Directory> 區塊 (加 #)。
  2. 修改 DirectoryIndex:
    DirectoryIndex index.php index.html index.htm index.wml
    
  3. 啟用虛擬主機設定檔:
    Include conf/extra/httpd-vhosts.conf
    
  4. 檔案末尾加入 PHP 模組載入 (依實際路徑調整):
    LoadModule php5_module "d:/server/php/php5apache2_2.dll"
    AddType application/x-httpd-php .php
    PHPIniDir "d:/server/php"
    

步驟 3:設定 httpd-vhosts.conf (位於 apache\conf\extra\)

  1. 刪除預設範例區塊。
  2. 新增虛擬主機區塊 (可簡化):
    <VirtualHost *:80>
        DocumentRoot "f:/www/guestbook"
        ServerName guestbook.com
        php_admin_value open_basedir "f:/www/guestbook;c:/windows/temp"
    </VirtualHost>
    
    <VirtualHost *:80>
        DocumentRoot "d:/server/phpmyadmin"
        ServerName phpmyadmin.com
        php_admin_value open_basedir "d:/server/phpmyadmin;c:/windows/temp"
    </VirtualHost>
    

    說明:open_basedir 限制 PHP 腳本存取路徑,提升安全性;Options None 會導致無預設首頁時出現 404,移除可啟用目錄瀏覽。

步驟 4:修改 hosts 檔案映射網域至本機

路徑:C:\Windows\System32\drivers\etc\hosts (需管理員權限編輯)

127.0.0.1 localhost
127.0.0.1 guestbook.com
127.0.0.1 phpmyadmin.com

注意:www.guestbook.com 與 guestbook.com 在 hosts 中視為不同名稱,需同時加入或在 Apache ServerAlias 設定別名。

步驟 5:重啟 Apache 驗證

  • Apache Monitor → Restart,或命令列 httpd -k restart。
  • 瀏覽器分別輸入 https://guestbook.com、https://phpmyadmin.com 應正確導向對應專案目錄。

常見問題排查

  • 403 Forbidden:檢查 <Directory> 允許 Require all granted (Apache 2.4) 或 Allow from all (2.2)。
  • 網域解析不生效:瀏覽器清快取、ipconfig /flushdns、確認 hosts 檔案無 BOM/編碼問題。
  • PHP 不執行:確認 LoadModule 路徑正確、AddType 生效、php.ini 已載入 (phpinfo() 驗證)。
Copyright © Windows教程網 All Rights Reserved