获取根目录本身时,Apache 2.0 ErrorDocument指令不起作用

我负责在Red Hat 4.1.2上使用Apache 2.0的网站。

我已经configuration站点来显示一个自定义的错误页面,把这一行添加到站点根目录下的.htaccess文件中:

ErrorDocument 403 /403.html 

为了testing,我在网站应用程序中封锁了我自己的IP地址; 这在.htaccess文件中产生了这样的结果(为了简洁起见,我编辑了列表并修改了IP):

 SetEnvIfNoCase REMOTE_ADDR "^(0\.0\.0\.1|0\.0\.0\.2|0\.0\.0\.3).*" BadIP deny from env=BadIP 

当我尝试从“糟糕的”IP访问网站时,如果我尝试获取特定页面(例如http://example.com/index.html ),则会出现自定义错误页面。

但是,如果我尝试获取根目录(例如http://example.com ),那么我将获得Apachetesting页。

有没有办法让网站的根目录与自定义错误页面一起工作?

编辑:我想我可能会造成一些困惑。 澄清:

  • 当我尝试获取根url时, 不会提供根网页; 我得到的是这样的页面:“如果你能阅读这个页面,这意味着安装在这个站点上的Apache HTTP服务器正常工作。” 所以我按预期阻止,但我只是没有得到403错误页面。
  • 当我试图得到根之下的任何东西,我得到我的自定义403.html页面

更新

我已经尝试了更新的Apache版本(2.2.25)。 我也尝试过没有 ErrorDocument指令或SetEnv的东西。 .htaccess文件包含这3行:

 order allow,deny allow from all deny from 0.0.0.0 

其中0.0.0.0被我的实际IP地址取代。

结果是一样的:当获得example.com时,我得到了Apache“如果你可以阅读这个”testing页面,当获取example.com/x时,我得到内build的“禁止…你没有权限访问此服务器上的/ x“页面。