[英]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.