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

时间:2016-09-26 10:25:05

标签: php macos apache macos-sierra

我刚刚更新到Mac OS 10.11 Sierra并且经典网络服务器工作不正常,或者我应该说我的主目录无法正常工作 当我得到'It works'页面时,Apache服务器正在localhost上工作,但是localhost/~myuser正在发送此消息'The requested URL /~myuser was not found on this server' 我试图遵循这个tuto,但它仍然无效

有人可以帮助我吗?

6 个答案:

答案 0 :(得分:27)

在终端中,转到/ etc / apache2和

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

对我来说就像一个魅力。

答案 1 :(得分:23)

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

答案 2 :(得分:4)

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

答案 3 :(得分:2)

我最近还将我的El Capitan更新到了Sierra,并遇到了类似的问题。我检查了/ etc / apache2 /和额外的目录,我注意到所有的Apache配置文件都是在更新时创建的,它们看起来是默认的,但也有来自el capitan的自定义文件~~之前的名称。我所要做的就是为那些以前的那些取代那些默认值并且像魅力一样工作。

答案 4 :(得分:2)

/ etc / apache2 / extra

中的

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

这是您以前的vhosts.conf文件。

只需使用配置文件即可。

对我来说就像一个魅力。

答案 5 :(得分:0)

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

在/private/etc/apache2/extra/httpd-vhosts.conf里面他们删除了这行(在我的情况下,它意味着就在文件的底部):

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

然后

sudo apachectl restart