Я знаю, что для ошибок CakePHP существуют решения CakeError и AppError. Но мне нужно сделать перенаправление внутри контроллера.
В AppController существует:
function afterFilter() {
if ($this->response->statusCode() == '404')
{
$this->redirect(array(
'controller' => 'mycontroller',
'action' => 'error', 404),404
);
}
}
Но это не создает код состояния 404. Он создает код 302. Я изменил код на этот:
$this->redirect('/mycontroller/error/404', 404);
Но результат тот же.
Я добавил это, это не сработало и устарело:
$this->header('http/1.0 404 not found');
Как я могу отправить код 404 при перенаправлении контроллера?