400番台のエラーが起きたときに意図したリダイレクトが行われない。
下記コードを実行(InputController)すると意図したリダイレクトが行われず、
「Missing Method in UsersController
Error: The action index is not defined in controller UsersController」
という表示がされます。
ErrorsControllerのindexアクションにリダイレクトするようにするにはどうすればよいでしょうか。
※phpのバージョン5.4でCakephp2の環境です。
class InputController extends AppController {
public function index()
{
try {
throw new Exception();
} catch (Exception $e) {
throw new NotFoundException();
return;
}
}
App::uses('ExceptionRenderer', 'Error');
class AppExceptionRenderer extends ExceptionRenderer {
public function error400($error) {
$this->controller->redirect(array('controller' => 'errors', 'action' => 'index'));
}
}
class ErrorsController extends AppController {
public function index() {
}
}