我试图在OS X Mountain Lion上运行Apache,但只能让虚拟主机'localhost'工作。
在/ etc / hosts中我有:
127.0.0.1 localhost magento.dev solas-lite.dev 255.255.255.255 broadcasthost ::1 localhost fe80::1%lo0 localhost
在httpd-vhosts.conf中我有:
NameVirtualHost *:80 <VirtualHost *:80> ServerName solas-lite.dev DocumentRoot "/Users/johnpeden/Sites/solas-lite" </VirtualHost> <VirtualHost *:80> ServerName magento.dev DocumentRoot "/Users/johnpeden/Sites/magento" </VirtualHost> <VirtualHost *:80> ServerName localhost DocumentRoot "/Users/johnpeden/Sites" </VirtualHost>
本地主机显示正是我期望的,如果我ping本地主机,solas-lite.dev或magento.dev我得到了127.0.0.1响应。 但是,如果我尝试访问浏览器中的http://solas-lite.dev或http://magento.dev ,我没有得到任何回应。 我甚至可以映射本地主机到另一个文件夹,它的工作原理
服务器已重新启动,计算机已重新启动。 httpd -S的输出是:
VirtualHost configuration: wildcard NameVirtualHosts and _default_ servers: *:80 is a NameVirtualHost default server solas-lite.dev (/private/etc/apache2/extra/httpd-vhosts.conf:28) port 80 namevhost solas-lite.dev (/private/etc/apache2/extra/httpd-vhosts.conf:28) port 80 namevhost magento.dev (/private/etc/apache2/extra/httpd-vhosts.conf:33) port 80 namevhost localhost (/private/etc/apache2/extra/httpd-vhosts.conf:38)
出了什么问题?
顺便说一句,我不认为这与山狮有什么关系,你会看到在Linux,Windows等相同的行为。
我认为这里的问题是在你的/ etc / hosts中,127.0.0.1的第一个条目是localhost
所以如果你的浏览器总是来自本地机器,那么http请求总是会说它来自localhost
或者127.0.0.1
或者magento-dev
到127.0.0.1
,根据/ etc / hosts文件本质上是localhost
,那么apache会解释这个请求的目的地是localhost
NamedVirtualHost。
你有没有尝试在你运行Apache的机器外面发出请求。
我也会检查你的apache日志,看看请求来自哪里,并看到请求标题。
希望这可以帮助。