我在工作时遇到了 Mac 上的开发环境最令人沮丧的问题(OS X 10.6.6、Apache 2.2.15、PHP 5.3.3 - 全部默认安装,几乎无需修改)。昨晚我开始开发一个新网站,我添加了一个虚拟主机并添加了一些域名来/etc/hosts
解析到我的本地机器。
我的主机文件条目如下所示:
10.10.11.199 dev.example.com
10.10.11.199 example.com
我的虚拟主机如下所示:
<VirtualHost *>
DocumentRoot "/Volumes/Websites/ExampleClient/example.com/source"
ServerName example.com
ServerAlias *.example.com
</VirtualHost>
我想这是我做的一件蠢事,但恼人的是昨晚它还在运行!从那时起唯一改变的事情就是我今天早上重启了我的机器。域名example.com
按预期工作,但dev.example.com
实际上,请求进入了默认虚拟主机/Volumes/Websites/Personal/Rowan Manning
。
我尝试过的事情:
- 明确设置
dev.example.com
为没有别名的虚拟主机 ServerName - 使用以下命令重启 Apache
sudo apachectl restart;
- 使用以下命令重启 Apache
sudo apachectl stop; sudo apachectl start;
- 再次重启我的 Mac
- 检查
/Volumes/Websites/ExampleClient/example.com/source
目录是否正常 - 检查权限
/Volumes/Websites/ExampleClient/example.com/source
- 通过强制错误来检查我是否正在编辑正确的虚拟主机文件
我被困住了!有什么想法吗?
编辑(2011年3月21日):
这个问题似乎在周末就解决了。我又没有做任何改变...我完全被迷惑了,但很高兴它能正常工作!
答案1
一些想法:
1)尝试将端口号添加到 VirtualHost 指令中,例如
<VirtualHost *:80>
确保它与默认 VirtualHost 指令和 NameVirtualHost 指令的端口号匹配。
2)如果服务器位于本地主机,请尝试使用 IP 地址 127.0.0.1 而不是 10.10.11.199。
3)更改配置后,请记住在浏览器中重新加载页面(或者更好的是,重新启动浏览器),而不仅仅是直接访问域。
4) 您的默认 VirtualHost 配置是什么样的?