Burada ayrıntılı olarak: Need assistance with Kohana 3 and catch all route turning into a 404 error soruya cevap olarak kabul edilen, oldukça hata sayfaları görüntülemek ve doğru HTTP kodlarını göndermek için Kohana tarafından atılan hataları yakalamak için çalışılıyor.
İşte sorun göstermek için basitleştirilmiş bir versiyonu:
try {
// Instantiate your Request object
$request = Request::instance();
// The give it a try, to see if its a valid request
$request->execute();
}
catch (Kohana_Request_Exception $e) {
header('Content-Type: text/html; charset='.Kohana::$charset, TRUE, 404);
echo Request::factory('err/404')->send_headers()->execute()->response;
exit;
}
echo $request->send_headers()->response;
Yani böyle http://example.local/moo/ olarak varolmayan bir URL'ye gidin ve ben şu yanıtı olsun
Kohana_Request_Exception [ 0 ]: Unable to find a route to match the URI: moo
Burada ne oluyor - isteği Kohana_Request_Exception ile başarısız, yargılanıyor, it's being caught AMA, yeni bir istek nesnesi oluşturmaya çalıştığınızda, Request::factory('err/404')
bu isteği ilk gelen hata atar istek ....!? wtf?
Ben iyi bir saat boyunca onunla oynuyordu ve ben başladığımda gibi şaşkın ettik. Fabrikadan yeni istek eski isteği hiçbir bilgiye sahip değil gerekir? Ben aslında d00d cevabı kopyaladım neden bu kod arızalı mı?
// Release version and codename
const VERSION = '3.0.7';
const CODENAME = 'hattrick';
Birisi doğru yönde .. thx adamlar bana gelin.