Problem z wirtualnymi hostami Apache w systemie Windows - proszę wyjaśnić


Ten problem nigdy wcześniej nie wystąpił (próbowałem tego wiele razy), ale tym razem
WSZYSTKIE hosty wirtualne zdefiniowane w pliku virtual-hosts.conf w katalogu instalacyjnym apache kierują przeglądarkę do katalogu documentRoot serwera apache.
Używam Windows 7 z najnowszym Apache.
Są to wirtualne hosty zdefiniowane przez
NameVirtualHost *:80#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for all requests that do not
# match a ServerName or ServerAlias in any <VirtualHost> block.
#
<VirtualHost *:80>
ServerName dev.a.local
ServerAlias dev.a.local
DocumentRoot "D:/wwwroot/a/public"
ErrorLog "logs/a.log"
CustomLog "logs/a-access.log" common <Directory "D:/wwwroot/a/public">
Options Indexes FollowSymLinks
AllowOverride All
# Controls who can get stuff from this server.
Order allow,deny
Allow from all
DirectoryIndex index.php
</Directory>
</VirtualHost><VirtualHost *:80>
ServerName dev.b.local
ServerAlias dev.b.local
DocumentRoot "D:/wwwroot/b/public"
ErrorLog "logs/b.log"
CustomLog "logs/b-access.log" common <Directory "D:/wwwroot/b/public"s>
Options Indexes FollowSymLinks
AllowOverride All
# Controls who can get stuff from this server.
Order allow,deny
Allow from all
DirectoryIndex index.php
</Directory>
</VirtualHost>

Zmieniłem plik hostów i dodałem
127.0.0.1 dev.a.local 
127.0.0.1 dev.b.local

Kiedy próbuję uzyskać dostęp do dev.a.local lub dev.b.local, jestem przekierowywany do apache documentRoot zdefiniowanego w httpd.conf.
Proszę pomóż.
Zaproszony:
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Plik, który zdefiniowałeś
         <VirtualHost>
bloki nie są zawarte w Twojej konfiguracji (jeśli konfiguracja usługi nie definiuje niestandardowej ścieżki konfiguracji w swoim wierszu poleceń - sprawdź to w przystawce usług MMC).
Jeśli opublikowana zawartość to cała zawartość pliku, można ją bezpiecznie dołączyć bezpośrednio z głównej konfiguracji.
Include/path/to/virtual-hosts.conf

Albo jeśli
         virtual-hosts.conf
plik zawiera wszystkie główne ustawienia serwera, tak jak twój główny plik konfiguracyjny, czy może być przeznaczony jako zamiennik twojego obecnego głównego pliku konfiguracyjnego?
Inną opcją jest po prostu umieszczenie konfiguracji vhosts w głównym pliku konfiguracyjnym zamiast w pliku konfiguracyjnym virtualhosts, w którym aktualnie je masz.
Anonimowy użytkownik

Anonimowy użytkownik

Potwierdzenie od:

Nigdy nie widziałem kilku
 <VirtualHost *:80>

rekordy wcześniej i byłby bardzo zaskoczony, gdyby naprawdę podzielił ruch. Ponadto ustawienie serverAlias ​​tak, aby były takie same jak nazwa serwera, jest zdecydowanie zbędne. Twój przykład nie pokazuje konfiguracji serverRoot (miejmy nadzieję, że różni się ona od documentRoot, w przeciwnym razie będziesz miał duże problemy). Próbować:
NameVirtualHost *:80<VirtualHost dev.a.local>
DocumentRoot "D:/wwwroot/a/public"
ErrorLog "logs/a.log"
CustomLog "logs/a-access.log" common<Directory "D:/wwwroot/a/public">
Options Indexes FollowSymLinks
AllowOverride All
# Controls who can get stuff from this server.
Order allow,deny
Allow from all
DirectoryIndex index.php
</Directory>
</VirtualHost><VirtualHost dev.b.local>
DocumentRoot "D:/wwwroot/b/public"
ErrorLog "logs/b.log"
CustomLog "logs/b-access.log" common<Directory "D:/wwwroot/b/public">
Options Indexes FollowSymLinks
AllowOverride All
# Controls who can get stuff from this server.
Order allow,deny
Allow from all
DirectoryIndex index.php
</Directory>
</VirtualHost>

Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się