Mac OS sierra 更新后 Apache 出现 404 错误
Posted
技术标签:
【中文标题】Mac OS sierra 更新后 Apache 出现 404 错误【英文标题】:Apache giving 404 error after Mac OS sierra update 【发布时间】:2017-02-03 15:37:09 【问题描述】:我最近刚刚更新到 Mac OS 10.11 Sierra,经典 Web 服务器无法正常工作,或者我应该说我的主目录无法正常工作
当我得到 'It works' 页面时,Apache 服务器正在本地主机上工作,但 localhost/~myuser
正在发送此消息 'The requested URL /~myuser was not found on this server'
我试图关注这个tuto,但它仍然无法正常工作
有人可以帮我吗?
【问题讨论】:
【参考方案1】:在终端中,前往 /etc/apache2 和
sudo mv httpd.conf httpd.conf.sierra
sudo mv httpd.conf~previous httpd.conf
sudo apachectl restart
对我来说就像一个魅力。
【讨论】:
在上述和另一个 SO 帖子之后,这对我有用。这是正确的答案。 该死.. 现在我的 Mac 上根本无法连接到互联网!我知道这是一些设置问题..因为我可以在恢复模式下.. 这个是正确的答案,除了ServerName这个条目还需要设置 我这样做了 + 以类似的方式重命名了 httpd-vhosts.conf 文件。这为我整理好了。 (为此我非常讨厌 Mac,升级后总是出现问题。) 这个解决方案帮助了我【参考方案2】:从 El Capitan 升级到 Sierra 后,什么对我有用:
1) 从 /etc/apache2/httpd.conf 中取消注释
LoadModule userdir_module libexec/apache2/mod_userdir.so
LoadModule vhost_alias_module libexec/apache2/mod_vhost_alias.so
Include /private/etc/apache2/extra/httpd-vhosts.conf
Include /private/etc/apache2/extra/httpd-userdir.conf
2) 从/etc/apache2/extra/httpd-userdir.conf 中取消注释
Include /private/etc/apache2/users/*.conf
3) 在我的 /etc/apache2/users/$USERNAME.conf 文件中,我还配置了 ProxyPass,为了让它再次工作,我必须重新-从我的 httpd.conf
中取消注释以下内容LoadModule proxy_module libexec/apache2/mod_proxy.so
LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so
4) php 可选:您还需要从 httpd.conf 中重新取消注释以下内容:
LoadModule php5_module libexec/apache2/libphp5.so
5) 当然,重启apache
sudo apachectl -k restart
之后一切都对我有用,但我现在更有动力开始搬到 Vagrant。
【讨论】:
它不适合我,但消息已经改变,虽然我有一个 403 禁止页面现在我仔细检查了 /etc/apache2/users/username.conf 并且它包含以下假定的行没事还有其他线索吗?cd /etc/apache2
sudo mv httpd.conf httpd.conf.sierra
sudo mv httpd.conf~previous httpd.conf
cd /etc/apache2/extra
sudo mv httpd-vhosts.conf httpd-vhosts.conf.sierra
sudo mv httpd-vhosts.conf~previous httpd-vhosts.conf
sudo apachectl restart
【讨论】:
更新到 Mojave 禁用 localhosting。很多教程展示了如何重新激活但未能展示 phpMyAdmin 返工。这是我发现使 phpMyAdmin 重新联机的唯一方法。谢谢!!【参考方案4】:我最近也将我的 El Capitan 更新为 Sierra,并且遇到了类似的问题。我检查了 /etc/apache2/ 和额外的目录,我注意到所有的 Apache 配置文件都是在更新时创建的,它们看起来是默认的,但也有我来自 el capitan 的自定义文件,名称为 ~previous。我所要做的就是将那些默认值替换为以前的那些,并且像一个魅力一样工作。
【讨论】:
【参考方案5】:在 /etc/apache2/extra 中
你会看到一个 httpd-vhosts.conf~previous
那是你以前的 vhosts.conf 文件。
只要使用配置文件就可以了。
对我来说就像一种魅力。
【讨论】:
【参考方案6】:如果其他人在遵循所选答案后遇到此问题并在访问您的虚拟主机时遇到问题,我必须采取额外的步骤。
在 /private/etc/apache2/extra/httpd-vhosts.conf 中,他们删除了该行(在我的情况下,它应该位于文件的底部):
Include /private/etc/apache2/vhosts/*.vhost
然后
sudo apachectl restart
【讨论】:
以上是关于Mac OS sierra 更新后 Apache 出现 404 错误的主要内容,如果未能解决你的问题,请参考以下文章
mac os下的Apache配置 macOS Sierra 10.12
最新更新后无法在 Mac High Sierra 10.13.5 上启动 apache(2018 年 6 月 15 日)
sh Mac OS X High Sierra / PHP Apache httpd配置节点NPM