У меня есть два виртуальных хоста на окнах (например: 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
:)
Вам не нужно записывать информацию о виртуальном хосте в httpd.conf
. Просто раскомментируйте строку, в которой вы загружаете conf / extra / httpd-vhosts.conf
, затем перейдите в этот файл и поместите туда свою информацию. Должно сработать.
Пример моего httpd-vhosts.conf
:
NameVirtualHost *:80
<VirtualHost 127.0.0.1>
DocumentRoot "C:/wamp/www"
ServerName dev
</VirtualHost>
Я сделал что-то вроде этого 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>
Вам нужно включить что-то похожее на следующую строку
NameVirtualHost *
Кроме того, похоже, вы используете https-соединение с сервером, которое не работает с виртуальными хостами из-за ограничения протокола SSL. Заголовок Host
в HTTP-запросе зашифрован, и к тому времени, когда apache его расшифровывает, он уже передал запрос одному из виртуальных хостов.