Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何抓住Apache';PHP/Kohana中的s403错误?_Php_Apache_Kohana - Fatal编程技术网

如何抓住Apache';PHP/Kohana中的s403错误?

如何抓住Apache';PHP/Kohana中的s403错误?,php,apache,kohana,Php,Apache,Kohana,我的网站运行在Kohana v3上,我在bootstrap.php中设置了如下自定义错误页面 try { // Attempt to execute the response $request->execute(); } catch (Exception $e) { .... error page re-direct. } 对于404错误,它可以正常工作 我还有一些无法直接访问的文件夹,但它们必须位于www根目录下。我使用.htaccess来保护这些文件夹

我的网站运行在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\u文件夹的权限

我想自定义此错误并在Kohana中处理它。但是,我发现Apache完全控制403错误,在这种情况下甚至不调用index.php


有没有办法解决这个问题?

不用.htaccess来锁定这个区域,你可以用代码来实现。可用于发送403状态

另一种方法是为Apache中的403个错误设置自定义错误文档,并将其指向一个脚本来处理错误。请参阅有关如何执行此操作的文档,但大致如下:

ErrorDocument 403 /custom_403_handler.php

ErrorDocument工作得很好。我通过以下方式将403错误重定向到我的错误控制器:
ErrorDocument 403/error/404