OS X 上的 Apache 和虚拟主机问题

OS X 上的 Apache 和虚拟主机问题

我最近格式化并安装了 iMac。我运行的是 10.6.5。在此格式化之前,我已启动并运行了默认的 Apache Web 服务器和多个虚拟主机,并且一切运行良好。格式化后,我重新设置了一切,现在 Apache 表现得很奇怪。以下是我所遇到的情况的描述。

我的 Apache Web 服务器的默认根目录指向外部硬盘。在我的 httpd.conf 中,我的内容如下:

DocumentRoot "/Storage/Sites"

下面还有几行:

<Directory />
    Options FollowSymLinks
    AllowOverride All
    Order deny,allow
    Allow from all
</Directory>

然后在下面:

<Directory "/Storage/Sites">
    Options Indexes FollowSymLinks MultiViews
    AllowOverride All
    Order allow,deny
    Allow from All
</Directory>

在这个文件的末尾,我注释掉了用户目录包含配置文件:

Include /private/etc/apache2/extra/httpd-userdir.conf

并取消注释虚拟主机配置文件:

Include /private/etc/apache2/extra/httpd-vhosts.conf

继续,我的 vhosts 文件中有以下条目:

<VirtualHost *:80>
   DocumentRoot "/Storage/Sites/mysite"
   ServerName mysite.dev
</VirtualHost>

我的 /etc/hosts 文件中还有一个主机记录,将 mysite.dev 指向 127.0.0.1(我也尝试使用我的路由器 IP,192.168.1.2)。

我遇到的问题是,尽管 /Storage/Sites/mysite 中有 PHP 文件,但服务器仍在查看 /Storage/Sites。我知道这一点是因为 DocumentRoot 包含一个带有 phpinfo() 的 php 文件(而 mysite 中的 index.php 文件有不同的代码)。

我尝试设置其他虚拟主机,但它们仍然在做同样的事情。此外,“NameVirtualHost *:80”在我的 vhosts 文件中。我在另一个线程上看到了解决方案。似乎没有什么区别。

对此有什么想法吗?如果这些信息不够,请告诉我。

答案1

只包含主 httpd.conf 文件中的所有 VirtualHosts 通用的指令选项。使所有由 Apache 服务的主机都成为虚拟主机。

从主 httpd.conf 文件中删除 DocumentRoot 和块。只在 httpd-vhosts.conf 文件中保留它们。

相关内容