Wamp Server: несколько виртуальных хостов не работают в Windows

У меня есть два виртуальных хоста в Windows (например: test1.dev и test2.dev). Но он всегда загружает содержимое test1.dev для обоих виртуальных хостов.

Ниже приведены мои файлы:

хосты:

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> 

Может ли кто-нибудь распознать проблему?

Я предполагаю, что вы потеряли строку NameVirtualHost 127.0.0.1:80 где-то 🙂

Я сделал что-то вроде этого 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> 

Вам не нужно писать информацию виртуального хоста в httpd.conf . Просто раскомментируйте строку, на которую вы загружаете conf/extra/httpd-vhosts.conf , затем перейдите в этот файл и поместите свою информацию туда. Должно сработать.

Пример моего httpd-vhosts.conf :

 NameVirtualHost *:80 <VirtualHost 127.0.0.1> DocumentRoot "C:/wamp/www" ServerName dev </VirtualHost> 

Вам нужно включить что-то похожее на следующую строку

NameVirtualHost *

Кроме того, похоже, вы используете https-соединение с сервером, который плохо работает с виртуальными хостами из-за ограничения протокола SSL. Заголовок Host в HTTP-запросе зашифрован и к тому времени, когда apache расшифровывает его, он уже передал запрос одному из виртуального хоста.

Эй, ребята, я написал очень прямое руководство, которое включает в себя весь процесс. Дайте мне знать, если вы столкнетесь с какими-либо проблемами в комментарии.

http://www.kintek.com.au/web-design-blog/configuring-multiple-domains-within-wamp-for-local-development/

Я изменился

ИмяVirtualHost *: 80

в

NameVirtualHost 127.0.0.1:80

и это работает для меня