dynamic虚拟主机给予403禁止在OSX Apache

我遵循这个指南,并试图通过允许foo.dev指向Web文件夹/foo来在OSX上创builddynamic虚拟主机。 我的区别是,我正在使用~/Sites作为我的网页文件夹,而不是像指南中的Mac HD。 它使用dnsmasq,我相信是安装和正常工作。

所以在我的〜/站点文件夹中我有:

 home sites |-foo |-bar 

我的httpd-vhosts.conf如下所示:

 <Virtualhost *:80> DocumentRoot "/Users/harryg/Sites/home" ServerName home.dev UseCanonicalName Off ErrorLog "logs/home/error.log" <Directory "/Users/harryg/Sites/home"> #Options FollowSymLinks Options Indexes FollowSymLinks Includes ExecCGI AllowOverride None Allow from all </Directory> </Virtualhost> <Virtualhost *:80> VirtualDocumentRoot "/Users/harryg/Sites/sites/%1" <Directory "/Users/harryg/Sites/sites/%1"> Options FollowSymLinks #Options Indexes FollowSymLinks Includes ExecCGI AllowOverride None Allow from all </Directory> ServerName sites.dev ServerAlias *.dev UseCanonicalName Off </Virtualhost> 

第一个虚拟主机工作正常,并将home.dev导致我在该虚拟主机的根目录中的示例index.php文件。

第二个虚拟主机只会为anything.dev提供一个403 Forbidden错误,无论是否存在.dev子域的文件夹。

有任何想法吗?

编辑:

最新日志条目

Apache错误日志:

 [Wed Dec 18 00:45:37 2013] [error] [client 127.0.0.1] File does not exist: /Users/harryg/Sites/home/favicon.ico [Wed Dec 18 00:45:45 2013] [error] [client 127.0.0.1] client denied by server configuration: /Users/harryg/Sites/sites/test/, referer: http://home.dev/ [Wed Dec 18 00:45:45 2013] [error] [client 127.0.0.1] client denied by server 

服务器现在工作(是configuration文件中的错误日志目录的问题)。 但是仍然无法访问dynamic虚拟主机。

你的第二个网站的内容是什么?

有两个可能的原因:

  1. 如果一个目录没有索引文件(index.php,index.html,default.html等),并且目录列表不被允许,Apache将显示一个403错误页面。

  2. 我注意到你没有在sites.dev中启用ExecCGI。 你可以尝试启用它吗?

更新:path中的百分号( /Users/harryg/Sites/sites/%1 )适用于mod_vhost_alias,但不适用于Apache的<Directory>规则。 修改这个:

 <Directory "/Users/harryg/Sites/sites/%1"> 

对此:

 <Directory "/Users/harryg/Sites/sites"> 

它工作吗?

刚刚遇到这个相同的问题,它原来是在Apache的默认设置。 在httpd.conf中是这样的

 <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> 

删除“拒绝所有”行并重新启动Apache。

访问被拒绝的403错误状态。 你必须检查目录树目录的权限。

确保运行Apache的用户已经读取并执行目录的权限并读取文件。