Я использую Kohana 3.3 для своего веб-сайта, и я получил эту проблему.
Где-то в коде я выбрасываю пользовательское исключение, например HTTP_Exception_404
$article = ORM::factory('article',array('url' => $url));
if(!$article->loaded()){
throw new HTTP_Exception_404('Метод showPage в контроллере статьи');
return;
}
и я хочу увидеть страницу 404, и я вижу страницу 404, но она имеет статус 200 Ok.
Что со мной не так?
Ниже код класса исключения
class HTTP_Exception_404 extends Kohana_HTTP_Exception_404 {
public function get_response(){
$view = View::factory('errors/404');
$view->message = $this->getMessage();
$response = Response::factory()
->status(404)
->body($view->render());
return $response;
}
}
Если это исключение вызывается при длительности ajax-запроса, оно работает правильно, и я получаю сообщение с кодом 404, но если это обычный запрос, я получаю то же сообщение только с кодом 200
Задача ещё не решена.
Других решений пока нет …