Apache 在 Mac OS sierra 更新后出现 404 错误

Apache giving 404 error after Mac OS sierra update

我刚刚更新到 Mac OS 10.11 Sierra,经典网络服务器无法正常工作,或者我应该说我的主目录无法正常工作 当我收到 'It works' 页面时,Apache 服务器正在本地主机上工作,但是 localhost/~myuser 给出了此消息 'The requested URL /~myuser was not found on this server' 我试着按照这个 tuto 但它仍然不起作用

有人可以帮助我吗?

从 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。

我最近也将我的 El Capitan 更新为 Sierra,但也遇到了类似的问题。我检查了 /etc/apache2/ 和额外的目录,我注意到所有 Apache 配置文件都是在更新时创建的,它们看起来是默认的,但也有来自 el capitan 的自定义文件,名称为 ~previous .我所要做的就是将那些默认值替换为以前的默认值,并且效果很好。

在终端中,前往 /etc/apache2 和

sudo mv httpd.conf httpd.conf.sierra
sudo mv httpd.conf~previous httpd.conf
sudo apachectl restart

对我来说就像一个魅力。

万一其他人遇到这个问题并且在按照所选答案访问您的虚拟主机时遇到问题,我必须采取一个额外的步骤。

在 /private/etc/apache2/extra/httpd-vhosts.conf 中,他们删除了行(在我的例子中,它应该在文件的底部):

Include /private/etc/apache2/vhosts/*.vhost

然后

sudo apachectl restart

在/etc/apache2/extra

你会看到一个httpd-vhosts.conf~previous

那是你之前的 vhosts.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