2

我正在尝试使用虚拟主机设置我的开发机器,以便我可以使用简单的 url 访问我的开发项目,例如 http://project.dev/ 而不是整个 http://127.0.0.1/dev/path/to/ root/of/project/ 类型的 url。

现在,我知道已经有很多关于这个的教程和问题得到了解答,但是在尝试了很多之后,我觉得我在这里绕着圈子跑。

问题很简单:在设置了我的主机文件和我的虚拟主机之后,任何访问虚拟主机的尝试都会不可挽回地显示我的服务器DocumentRoot 的内容。

我的主机文件:

127.0.0.1       localhost
127.0.0.1       mydomain.dev
255.255.255.255 broadcasthost
::1             localhost
fe80::1%lo0     localhost

我的 httpd-vhosts.conf

NameVirtualHost *:80

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /Users/pilot/Sites/
</Virtualhost>

<VirtualHost *:80>
    ServerName mydomain.dev
    DocumentRoot /Users/pilot/Sites/devel/vytamin/dev/
</VirtualHost>

我确切地说 httpd-vhosts.conf 文件已加载到我的 httpd.conf 中,如果我将虚拟主机文档根指向错误的文件夹,我会收到警告。

我尝试将 localhost 虚拟主机设置为以下,但没有成功。

<VirtualHost *:80>
    ServerName localhost
    DocumentRoot /Users/pilot/Sites/devel
</Virtualhost>

以下 URL 都显示了我的 httpd.conf 文件中定义的服务器的 DocumentRoot,并且似乎忽略了我的 VirtualHosts 中定义的 DocumentRoot。

http:// 127.0.0.1/
http:// localhost/
http:// mydomain.dev/

我在 Mac OSX 10.5 Leopard 上运行 Apache2.2,但不是 mac os 附带的。我在 /usr/local/apache2 下编译了自己的,并且禁用了网络共享

我看不出我的设置有什么问题,所以我希望社区会这样做!谢谢你的帮助!

4

1 回答 1

3

好的,我发现了问题!

上面的配置非常好,只是我的 apache 没有正确重启。既没有也没有apache_ctl graceful终止apache_ctl restart我正在运行的所有 httpd 进程,因此无法正确重新加载我的配置文件中的更改。一旦我杀死了剩余的进程并真正重新启动了apache,它就起作用了......

解决了,但我发现我觉得很愚蠢!

现在我有一个守护进程需要解决!

于 2009-09-21T18:17:39.697 回答