我的网站在Kohana v3上运行,我在bootstrap.php中设置了如下所示的自定义错误页面
try
{
// Attempt to execute the response
$request->execute();
}
catch (Exception $e)
{
.... error page re-direct.
}
404错误可以正常工作。
我也有一些无法直接访问的文件夹,但它们必须位于www根目录下。我把.htaccess保护这些文件夹
# nobody can access this folder from Browser
Deny from all
当用户在浏览器中键入URL以访问此文件夹下的文件时,Apache 403错误将以纯文本显示,如下所示:
禁止
您无权访问此服务器上的/ private_folder。
我想自定义此错误并在Kohana中处理它。但是,我发现Apache完全控制403错误,在这种情况下甚至不调用index.php。
有什么想法解决它?
答案 0 :(得分:3)
您可以在代码中执行此操作,而不是使用.htaccess来锁定该区域。 PHP's header function可用于发送403状态。
另一种方法是在Apache中为403错误设置自定义错误文档,并将其指向脚本以处理错误。请参阅ErrorDocument文档,了解如何执行此操作,但这将是以下几点:
ErrorDocument 403 /custom_403_handler.php