2010-04-17 126 views
36

如何在Windows上爲多個域名設置虛擬主機? 我會用它來做我自己的測試項目。我有3個項目需要設置,目前我正在使用xampplite作爲可移植的apache。設置Apache虛擬主機(Windows)

  1. www.foo-bar.com - >直接到c:\ Xampplite文件\ htdocs中\ FOO條\
  2. www.abcdef.com - > DIRECTO到c:\ Xampplite文件\ htdocs中\ ABCDEF \
  3. www.qwerty.com - >直接到c:\ Xampplite文件\ htdocs中\鍵盤\網絡\

我還需要在其他項目中訪問,但它就像打字 http://localhost/my-project/

如何爲此編寫虛擬主機配置?

回答

80

您需要執行幾個步驟才能完成此項工作。


1.)更新hosts文件。在Windows XP上,您可以在c:\WINDOWS\system32\drivers\etc\下找到它。您應該已經看到下面的第一行,它會照顧您提到的其他項目。 - 添加額外的請求,將所提到的虛擬主機發送回自己的機器。

127.0.0.1  localhost 
127.0.0.1  foo-bar.com 
127.0.0.1  abcdef.com 
127.0.0.1  qwerty.com 


2.)更新在Apache配置的虛擬主機文件。在您的XAMPP文件夾下,將以下內容添加到apache\conf\extra\httpd-vhosts.conf,如果需要更改端口(即如果使用8080而不是端口80)。

<VirtualHost *:80> 
    DocumentRoot C:/xampplite/htdocs/foo-bar/ 
    ServerName www.foo-bar.com 
</VirtualHost> 
<VirtualHost *:80> 
    DocumentRoot C:/xampplite/htdocs/abcdef/ 
    ServerName www.abcdef.com 
</VirtualHost> 
<VirtualHost *:80> 
    DocumentRoot C:/xampplite/htdocs/qwerty/web/ 
    ServerName www.qwerty.com 
</VirtualHost> 


3)進行快速配置檢查。打開{XAMPP-folder}\apache\conf\httpd.conf您的文件,並確保以下部分不是由前述#字符註釋掉:

Include conf/extra/httpd-vhosts.conf 


4)重新啓動XAMPP。


...你現在應該都準備好了。如果你只是把它放在C:/xampplite/htdocs/my-project/下,你的其他項目應該可以通過你提到的URI訪問。

+0

我一直在使用不同的端口,並沒有任何運氣讓這個在Windows上正常工作。你有什麼建議嗎?例如,使用端口8080。 – Jessycormier 2014-03-20 14:05:38

+0

你可能已經發現的一件事是你需要改變vhosts文件,即使用''。但是每次我這樣做時,我都會忘記告訴Apache在這個端口上收聽。在你的'httpd.conf'文件中尋找「Listen」,並將其設置爲'Listen 8080'。另外,如果你仍然使用Apache 2.2,你可能還需要在'httpd-vhosts.conf'中的虛擬主機設置之上添加'NameVirtualHost *:8080'。 – MicE 2014-06-21 07:08:38

+0

謝謝。通過提及包含.../httpd-vhosts.conf的難以捉摸的檢查,您爲我省下了很多努力!我以爲它會默認包含,但它不是,我用的教程沒有提到它。現在就像魅力一樣。 – zehelvion 2014-08-10 13:08:52

6

要得到C:/xampp/htdocs/my-project/工作我不得不添加以下(默認?)VirtualHost到apache\conf\extra\httpd-vhosts.conf(在MicE教程的第2步)。

<VirtualHost *:80> 
    DocumentRoot "C:/xampp/htdocs" 
    ServerName localhost 
</VirtualHost>