我在Mac OS X(Snow Leopard)计算机上运行Apache。我希望能够设置多个主机名,以便我可以同时开发和测试多个站点,但我似乎无法让它工作。
这是我尝试过的:
在我的etc / hosts文件中,我设置了这些条目:
127.0.0.1 testsite1.localdev.com
127.0.0.1 testsite2.localdev.com
然后,在apache2 / httpd.conf中我添加了以下条目:
<VirtualHost *:80>
DocumentRoot /Library/WebServer/Documents/www/development/testsite1
ServerName testsite1.localdev.com
<Directory "/Library/WebServer/Documents/www/development/testsite1">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
<VirtualHost *:80>
DocumentRoot /Library/WebServer/Documents/www/development/testsite2
ServerName testsite2.localdev.com
<Directory "/Library/WebServer/Documents/www/development/testsite2">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>
但恰好是两个主机名都解析为httpd.conf文件中列出的第一个主机名 - 在本例中为testsite1。如果我改变他们的位置,那么他们都会解决testsite2。
我也尝试更改读取*:80的区域,并将其替换为每个站点的特定主机名,但这没有效果。
我确定每次更改后都会重启apache。
感谢您的帮助!
加里
答案 0 :(得分:1)
取消注释vhost文件,如:
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
使用...
#
# Use name-based virtual hosting.
#
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents"
ServerName localhost
</VirtualHost>
# local test site
<VirtualHost *:80>
<Directory /Users/<youruser>/Sites/test>
AllowOverride All
</Directory>
DocumentRoot "/Users/<youruser>/Sites/test"
ServerName test.local
</VirtualHost>
确保您和站点文件夹的权限为755
并确保添加到/ etc / hosts文件...
# test
127.0.0.1 test.local