访问在我的本地开发环境中定义的站点时,我似乎无法通过 403 Forbidden 错误。
在 /etc/apache2/sites-available/ 下我定义了一个文件 fun.local:
<VirtualHost *:80>
ServerName fun.local
DocumentRoot /home/noah/work/fun
ErrorLog /var/log/apache2/fun-error.log
<Directory /home/noah/work/fun>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
该站点的 apache 错误日志包含此错误:
[Sat Aug 21 13:34:34 2010] [crit] [client 127.0.0.1] (13)Permission denied: /home/noah/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable
我正在运行 apache2 和 ubuntu 10.04。
确保检查该目录的权限。意识到 apache 以用户“www-data”的身份运行,并且它需要对该目录中的文件进行读取访问才能运行。
要检查从命令行运行的权限:
请注意,Apache 通过检查 .htaccess 文件的整个路径来确定是否能够提供目录。这是为了以防 /home/noah/.htaccess 中有一条规则说应该拒绝,覆盖您的虚拟主机文件中的信息设置。
允许 www-data 用户读取目录应该会有所帮助。您可以做的另一件事是将 /home/noah/work/fun 目录符号链接到 /var/www ,其中 apache 用户应该是默认所有者。
让我知道您是否需要更多详细信息,或者您是否可以从这里到达那里。
您可以使用 apache userdir 模块来实现这一点。
有关详细信息,请参阅此帖子:Apache 符号链接到主目录 - 权限错误