누군가가 브라우저의 URL 바에서 http://mysite/users/unknownaction과 충돌하면 오류가 발생합니다.CakePHP-2.0 : 컨트롤러에 대한 missing action/missiong보기를 어떻게 확인할 수 있습니까?
해당 오류를 catch하고 http://mysite/으로 리디렉션하고 싶습니다.
CakePHP-2.0에서는 어떻게 할 수 있습니까?
누군가가 브라우저의 URL 바에서 http://mysite/users/unknownaction과 충돌하면 오류가 발생합니다.CakePHP-2.0 : 컨트롤러에 대한 missing action/missiong보기를 어떻게 확인할 수 있습니까?
해당 오류를 catch하고 http://mysite/으로 리디렉션하고 싶습니다.
CakePHP-2.0에서는 어떻게 할 수 있습니까?
Hugo가 제안하는대로 프로덕션 모드에있는 경우 누락 된 URL은 기본적으로 표준 "404 찾을 수 없음"페이지를 생성하는 throw a NotFoundException
입니다. 이 동작을 변경하려면 handling exceptions in CakePHP 2.0에 대한 설명서를 봐야합니다.
"app"폴더에 "app_error.php"파일을 만듭니다.
<?php
class AppError extends ErrorHandler {
function error404($params, $messages) {
$this->Session->flash($messages);
$this->controller->redirect(array('controller'=>'welcome', 'action'=>'index'));
parent::error404($params);
}
}
?>
리디렉션 전에 세션 플래시에 오류 메시지를 저장할 수 있습니다.
작동하지 않습니다. 오류가 발생했습니다. 오류 : 컨트롤러 abcd가 컨트롤러 UsersController에 정의되어 있지 않습니다. 오류 : appController :: abcd() 파일을 app/Controller/UsersController.php에 만듭니다. – shibly
케이크 디버그 모드를 "0"으로 변경하여 프로덕션 모드를 사용합니다. –
생산 모드가 도움이되지 않습니다. – shibly