Apache 拒绝使用 VirtualHosts 的请求

Apache 拒绝使用 VirtualHosts 的请求

这是我在日志中收到的错误:

权限被拒绝:/home/ross/.htaccess pcfg_openfile:无法检查 htaccess 文件,请确保其可读

我的虚拟主机非常简单:

<VirtualHost 127.0.0.1>
 ServerName jotter.localhost
 DocumentRoot /home/ross/www/jotter/public
 DirectoryIndex index.php index.html

 <Directory /home/ross/www/jotter/public>
  AllowOverride all
  Order allow,deny
  allow from all
 </Directory>

 CustomLog /home/ross/www/jotter/logs/access.log combined
 ErrorLog /home/ross/www/jotter/logs/error.log
 LogLevel warn
</VirtualHost>

知道为什么会发生这种情况吗?我不明白为什么 Apache 会在.htaccess那里寻找,也不知道为什么这会停止请求。谢谢。

答案1

解决这个问题的方法是正确设置以下目录的权限:

  • 网站目录chmod 755 /home/ross/www/jotter
  • /家chmod 711 /home/your_username

摘自 bobpeers.com (Google 缓存)。

答案2

在提供页面时,Apache.htaccess将从根目录开始检查每个目录组件中的文件:

- /.htaccess
- /home/.htaccess
- /home/ross/.htaccess

Apache 无法打开您的/home/ross/.htaccess文件,因为它没有对 的执行权限/home/ross或读取权限/home/ross/.htaccess

为了提供页面,您需要向每个目录组件添加 Apache 的执行权限。如果您选择这样做,读取权限使 Apache 能够为目录生成索引;如果您知道文件的名称,则无需读取权限即可打开文件。

相关内容