以下几行是什么意思?
[Mon Feb 21 20:52:13 2011] [error] [client 66.249.71.150]
Directory index forbidden by rule: /var/www/vhosts/website.com/httpdocs/
我的root中没有index.php,因为我的索引是home.php,网站根文件是由.htaccess规则定义的:
我的 .htaccess 文件如下所示:
DirectoryIndex index.php /index.php
RewriteCond %{HTTP_HOST} ^website.com$
RewriteRule ^$ en/home [R=301,L]
...
非常感谢!
我无权访问虚拟主机配置文件,我在共享主机上,所以只有.htacces在我的/ httpdocs / thats我所有。我该怎么办?我应该禁用DirectoryIndex(我不使用它反正网站工作正常!)我怎样才能检查我是否有目录索引?
[Sun Feb 27 02:18:56 2011] [错误] [客户端66.249.71.81]文件没有 存在: /var/www/vhosts/website.org/httpdocs/index
与本页顶部的第一个错误不同,这似乎是常规的404(我的404错误文档是我的主页,因此错误页面显示主页)
当我输入'website.org'时,htaccess规则确实会重定向到默认页面website.org/en/home,当我输入'websie.org/index'时,它会重定向到website.org/en / home所以这一切似乎工作正常,但我知道这两个错误意味着什么“规则禁止的目录索引......”
线索?谢谢!
答案 0 :(得分:1)
检查您的输入并确保您的网站的虚拟主机DocumentRoot列在那里,否则apache将无法获取它。
答案 1 :(得分:1)
编辑2:好的...我想我刚开始误解了这个问题。您说目录中没有index.php
文件?如果是这样,DirectoryIndex index.php /index.php
看起来不正确。也许您应该尝试将其更改为:
DirectoryIndex home.php
我是否正确理解了这个问题?您正在尝试显示目录的默认页面,对吗?
默认情况下,某些http.conf设置具有以下规则:
<Directory />
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
</Directory>
每当我设置一个虚拟主机时,我经常会将此规则更改为更像这样:
<Directory />
Options FollowSymLinks
AllowOverride All
Order deny,allow
Allow from all
</Directory>
您案例中的重要部分是最后两部分Order
和Allow
。
编辑1:实际上,在更多地查看此错误之后,这甚至可能是权限问题。您能否仔细检查Apache是否具有您尝试访问的目录的读取权限?