很抱歉,如果这看起来微不足道,但问题一直困扰着我很长一段时间,而且我不确定在哪里调试它。在我的mac dev环境中访问localhost时,我得到403禁止。它是默认设置,因此应该从/ Library / WebServer / Documents /
提供当我直接导航到该文件夹中的文件时,同样的错误。当我导航到我知道不存在的文件时,相同的错误。
来自/private/etc/apache2/httpd.conf的值得注意的设置,它们似乎都是默认设置:
ServerRoot "/usr"
Listen 80
User _www
Group _www
DocumentRoot "/Library/WebServer/Documents"
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "/Library/WebServer/Documents">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
点击localhost似乎在/ var / log / apache2 / error_log中没有任何条目,但是如果我设置了一个新的vhosts条目:
<VirtualHost *:80>
DocumentRoot "/Users/me/Dropbox/work/web/testsite.local"
ServerName testsite.local
</VirtualHost>
...在主机中,将testsite.local发送到127.0.0.1,我在/ var / log / apache2 / error_log
中得到这个(13)Permission denied: access to / denied (filesystem path '/Users/me/Dropbox/work') because search permissions are missing on a component of the path
真的让我很难过。谁能建议从哪里开始?
答案 0 :(得分:1)
我对此持续了几个小时,最后在将我的设置与另一台机器进行比较后意识到我的httpd-vhosts.conf文件有显着差异。
在工作机器上,它有:
<VirtualHost *:80>
DocumentRoot "/Library/WebServer/Documents"
</VirtualHost>
如果您使用vhosts,并且/private/etc/apache2/extra/httpd-vhosts.conf缺少该关键部分,您将很难解决localhost错误。