2010-03-27 193 views
7

我在Windows上有兩個虛擬主機(例如:test1.dev和test2.dev)。但是它總是爲兩個虛擬主機加載test1.dev的內容。Wamp服務器:多個虛擬主機在Windows上不工作

以下是我的文件:

主機:

127.0.0.1 localhost 
127.0.0.1 test1.dev 
127.0.0.1 test2.dev 

的httpd.conf:

<IfModule ssl_module> 
SSLRandomSeed startup builtin 
SSLRandomSeed connect builtin 
</IfModule> 

Include "c:/wamp/alias/*" 

<VirtualHost 127.0.0.1> 
    ServerName test1.dev 
    DocumentRoot "C:\wamp\www\test1\public" 
</VirtualHost> 

<VirtualHost 127.0.0.1> 
    ServerName test2.dev 
    DocumentRoot "C:\wamp\www\test2\public" 
</VirtualHost> 

有人能認識到這個問題?

回答

12

我猜你錯過了NameVirtualHost 127.0.0.1:80線某處:)

+0

我在httpd.conf文件中添加了(NameVirtualHost 127.0.0.1:80)並且現在可以。 – Awan 2010-03-28 16:45:07

3

你不必寫虛擬主機信息爲httpd.conf。只需取消您加載conf/extra/httpd-vhosts.conf的行的註釋,然後轉到此文件並將您的信息放在那裏。應該管用。我httpd-vhosts.conf

例子:

NameVirtualHost *:80 

<VirtualHost 127.0.0.1> 
    DocumentRoot "C:/wamp/www" 
    ServerName dev 
</VirtualHost> 
+0

其中是windows os目錄中的httpd-vhosts.conf? – NAVEED 2010-03-27 19:11:37

+0

{wamp-dir} \ bin \ apache \ Apache2.2.11 \ conf \ extra \ – 2010-03-27 19:12:39

+0

另外,請查看本指南:http://www.dennisplucinik。com/blog/2007/08/16/setup-multiple-virtual-hosts-in-wamp/ – 2010-03-27 19:14:39

4

我做了一些這樣的事 1-本地主機的:

NameVirtualHost localhost:80 
<VirtualHost localhost:80> 
ServerName localhost 
ServerAlias localhost 
DocumentRoot D:/wamp/www 
ErrorLog "D:/wamp/www/error.log" 
CustomLog D:/wamp/www/access.log common 
<Directory "D:/wamp/www"> 
    Options -Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    <IfModule mod_access.c> 
    Order allow,deny 
    Allow from all 
    </IfModule> 
</Directory> 
</VirtualHost> 

2 - 和任何其他地域

NameVirtualHost zf.local:80 
<VirtualHost zf.local:80> 
ServerName zf.local 
ServerAlias zf.local 
DocumentRoot D:/Workspace/Zend/documentation 
ErrorLog "D:/Workspace/Zend/documentation/error.log" 
CustomLog D:/Workspace/Zend/documentation/access.log common 
<Directory "D:/Workspace/Zend/documentation"> 
    Options -Indexes FollowSymLinks MultiViews 
    AllowOverride All 
    <IfModule mod_access.c> 
    Order allow,deny 
    Allow from all 
    </IfModule> 
</Directory> 
</VirtualHost> 
1

您需要包含類似於以下行

NameVirtualHost *

而且,看來你正在使用HTTPS連接到不與,因爲SSL協議限制的虛擬主機以及播放服務器。 http請求中的Host標頭被加密,並且在apache解密它時,它已經將請求傳遞給其中一個虛擬主機。

0

我改變

了NameVirtualHost *:80

了NameVirtualHost 127.0.0.1:80

它適用於我