[英]How to catch Apache's 403 error in PHP / Kohana?
我的网站在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。
有解决的办法吗?
无需使用.htaccess锁定该区域,您可以在代码中进行操作。 PHP的标头函数可用于发送403状态。
另一种方法是为Apache中的403错误设置自定义错误文档,并将其指向用于处理错误的脚本。 有关执行此操作的方法,请参考ErrorDocument文档,但这可能与以下内容类似:
ErrorDocument 403 /custom_403_handler.php
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.