【发布时间】:2014-05-18 15:58:09
【问题描述】:
我正在尝试让 OS X 附带的 Apache 服务器为我的本地网站工作。无论我将文件httpd-vhosts.conf 更改为什么,当我在终端中运行httpd -S 时,它都会显示我的虚拟主机语法正常。我在文件中输入了一堆随机字符,重新启动了 Apache,它仍然说我的配置正常。
首先我编辑了/private/etc/hosts并在127.0.0.1 localhost下面添加了这一行:
127.0.0.1 mysite
然后我编辑了/private/etc/apache2/httpd.conf。我取消了这一行的注释:
# Virtual hosts
Include /private/etc/apache2/extra/httpd-vhosts.conf
我还取消了 PHP5 行的注释以启用 PHP。
接下来我编辑了/private/etc/apache2/extra/httpd-vhosts.conf 并设置了我的虚拟主机。重新启动 apache 后,我的虚拟主机无法正常运行并运行 httpd -S 说我的虚拟主机语法没问题。 Apache 错误日志中没有错误。这是httpd-vhosts.conf 文件包含的内容:
NameVirtualHost *:80
<VirtualHost *:80>
DocumentRoot "/Users/Gavin/Web"
ServerName localhost
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/Users/Gavin/Web/mysite/public_html"
ServerName mysite
</VirtualHost>
无论我做什么,我的虚拟主机都无法工作。所以我尝试将httpd-vhosts.conf 更改为:
NameVirtualHost *:80
<VirtualHost @*^#*&^#$>
(#*&#*$&@(*UOSKSFLKSFJLJF##*(&
</VirtualHost>
我使用 sudo apachectl restart 重新启动 Apache,然后运行 apachectl -S 并显示:
httpd: Could not reliably determine the server's fully qualified domain name, using Gavins-MacBook-Pro.local for ServerName
VirtualHost configuration:
Syntax OK
显然我的 httpd-vhosts.conf 文件不正常,那么它加载的是哪个文件?在终端中,我运行了httpd -V|grep SERVER_CONFIG_FILE,它返回了:
-D SERVER_CONFIG_FILE="/private/etc/apache2/httpd.conf"
这显然是正确的httpd.conf 文件,那么这里发生了什么?有什么想法吗?
【问题讨论】: