我正在使用 Mac 内置的 Apache,一切都很顺利,直到出现问题。我认为是 .hosts 文件的问题。
http://本地主机结果显示“成功了!”消息,但无法找到任何 /[foldername]。但是,127.0.0.1 运行正常,将我带到了我用户名下的 /Sites。
我的 .hosts 文件如下所示:
127.0.0.1 localhost
255.255.255.255 broadcasthost
我不太熟悉 Apache 的工作原理;我做错了什么?我应该去哪里查找?
答案1
“It Works” 页面是默认的 apache Vhost。如果您看到此信息,则与 hosts 文件无关。
将需要有关您尝试访问的 URL 以及您期望发生的情况的更多信息。
答案2
查看/etc/apache2/httpd.conf
是否httpd-userdir.conf
包含:
# User home directories
Include /private/etc/apache2/extra/httpd-userdir.conf
答案3
Apache 对待 IP 地址的方式与解析的“名称”地址不同。IP 转到正在监听的任何端口,并从那里顺利转发。诸如“localhost”之类的内容由配置文件的“VirtualHost”部分处理,其中告知 Apache 哪个文件夹是该名称描述的服务器的“根”文件夹。
因此,如果您一直愉快地使用“localhost”,而现在它不起作用,我会查看您的 httpd.conf 文件的 VirtualHost 部分是否有变化。
答案4
尽管我的 macports 的 apache 安装运行良好,但最近发生了一些变化,OS X 默认 apache 今天又恢复了运行。因此,我得到了和你一样的意外结果“它起作用了!”。
修复方法是从系统的 launchd 中卸载 apache 守护进程。
sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist