2010-07-29 9 views
6

Nie jestem pewien, co się tutaj dzieje, ale uruchamiam MAMP 1.9 na MAC OS X. W moim pliku httpd.conf, DocumentRoot jest ustawiony na domyślną ścieżkę htdocs. W folderze htdocs utworzyłem wiele "podwitryn", próbując ustawić je jako wirtualne hosty .... Mogę dostać się do podanych ścieżek, ale wszystkie domyślnie są ustawione na pierwsze, które ustawiłem .MAC OS X: MAMP Środowisko i wirtualne hosty

Zasadniczo pierwszą konfiguracją VirtualHost skonfigurowałem dla site1.localhost.com. Odtąd skonfigurowałem site2.localhost.com i site3.localhost.com. Jednak przechodzenie do jednego z dwóch ostatnich adresów zawsze wydaje się przekierowywać mnie do site1.localhost.com. Ponadto, po prostu localhost.com:8888 również po prostu pobiera site1.localhost.com. Nie jestem pewien, gdzie popełniłem błąd, ale mam nadzieję, że ktoś tutaj będzie w stanie pomóc mi rozwiązać problem ... Och, i zrestartowałem apache itp. Po wprowadzeniu jakichkolwiek zmian w/etc/hosts lub plik httpd.conf.

W moim pliku httpd.conf (odpowiednie części, w każdym razie ...):

#                                                                    
# DocumentRoot: The directory out of which you will serve your                                                     
# documents. By default, all requests are taken from this directory, but                                                  
# symbolic links and aliases may be used to point to other locations.                                                   
#                                                                    
# MAMP DOCUMENT_ROOT !! Don't remove this line !!                                                        


DocumentRoot "/Applications/MAMP/htdocs" 

#                                                                    
# Note that from this point forward you must specifically allow                                                    
# particular features to be enabled - so if something's not working as                                                   
# you might expect, make sure that you have specifically enabled it                                                   
# below.                                                                  
#                                                                    

#                                                                    
# This should be changed to whatever you set DocumentRoot to.                                                     
#                                                                    
<Directory "/Applications/MAMP/htdocs"> 

<VirtualHost *> 
DocumentRoot "/Applications/MAMP/htdocs/site1/" 
ServerName site1.localhost.com 
</VirtualHost> 

<VirtualHost *> 
DocumentRoot "/Applications/MAMP/htdocs/sub/site2/" 
ServerName site2.localhost.com 
</VirtualHost> 

<VirtualHost *> 
DocumentRoot "/Applications/MAMP/htdocs/sub/site3/" 
ServerName site3.localhost.com 
</VirtualHost> 

w moim/etc/hosts:

##                                                                    
# Host Database                                                                
#                                                                    
# localhost is used to configure the loopback interface                                                      
# when the system is booting. Do not change this entry.                                                      
##                                                                    
127.0.0.1  localhost 
127.0.0.1  site1.localhost.com 
127.0.0.1  site2.localhost.com 
127.0.0.1  site3.localhost.com 
255.255.255.255 broadcasthost 
::1    localhost 
fe80::1%lo0  localhost 

Odpowiedz

4

W pliku httpd.conf znaleźć następujący wiersz i usunąć znak komentarza (#):

# NameVirtualHost * 
+0

ahhh dziękuję! to doprowadzało mnie do szału !! – locrizak

0

Oprócz odpowiedzi MattLeff użytkownika, należy również dodać alias serwera, na wszelki wypadek:

ServerAlias www.website.dev 

Jeśli nie robić i przeglądarka automagicznie dodaje: (! I ukrywa go, rawr) „http // www”, a następnie środowisko automatycznie ustawi się do pierwszego wirtualnego hosta.

0

Widzę, że dostałeś odpowiedź. W moim przypadku było to niewystarczające. Podczas dodawania sugestii Chords udało mi się uzyskać localhost + wiele innych vhostów (demo.client.com) pracujących nad moim MAMP. Działało to tylko wtedy, gdy dodałem localhost jako host wirtualny, na górze listy.

NameVirtualHost *:80 
<VirtualHost *:80> 
    DocumentRoot "/Applications/MAMP/htdocs" 
    ServerName localhost 
</VirtualHost> 

<VirtualHost *:80> 
    ServerAdmin [email protected] 
    DocumentRoot "/Applications/MAMP/htdocs/clientA/" 
    ServerName clientA.local 
    ErrorLog "logs/clientA-local-error_log" 
    CustomLog "logs/clientA-local-access_log" common 
</VirtualHost>