2012-11-01 2 views
0

Bootstrap.php에서 저는 Zend_Controller_Router_Route_Regex를 사용하는 커스텀 라우트를 가지고 있습니다. 주소 표시 줄에 사용자가 잘못된 링크를 입력했을 때를 제외하고 모두 정상적으로 작동합니다.Zend Framework : "요청에 일치하는 경로가 없습니다."오류를 처리하는 방법?

예 :

http://mysite/en/1-some-article.html => 이것은 부트 스트랩에서 ROUTE 일치하는 유효한 링크입니다.

그러나 사용자가 같은 오타 실수 할 때 : 없음 경로

처리 거기다 요청과 일치하지 :

http://mysite/en/1-some-article.**html'** or http://mysite/en/1-some-article.**hhtml**, 그들은 부트 스트랩의 모든 ROUTE 일치되지 않습니다, 다음 젠드 프레임 워크는 같은 예외가 발생합니다 '일치하는 경로 없음'에 대한 맞춤 페이지로 리디렉션하는 것과 같은 방법입니까?

도움이 될 것입니다. 사전에 감사드립니다!

구성 ( 아래의 코멘트에서 )

[production] 
phpSettings.display_startup_errors = 1 
phpSettings.display_errors = 1 
phpSettings.date.timezone = "Europe/London" 
;includePaths.library = APPLICATION_PATH "/../library" 
bootstrap.path = APPLICATION_PATH "/Bootstrap.php" 
bootstrap.class = "Bootstrap" 
appnamespace = "" 
;resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers" 
resources.frontController.params.displayExceptions = 0 
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules" 
resources.modules = "" 
autoloaderNamespaces.Fxml = "Mycms_" 
autoloaderNamespaces.Fxml = "Fxml_" 
+0

프로덕션 환경에서'resources.frontController.params.throwExceptions'를 false로 설정하십시오. 그러면 오류가 'ErrorController'로 전달됩니다. http://framework.zend.com/manual/1.12/en/zend.controller.plugins.html#zend.controller.plugins.standard.errorhandler.fourohfour 및 http://framework.zend.com/manual/1.12를 참조하십시오. /en/zend.controller.exceptions.html – Phil

+0

@Phil : 내 application.ini에는 해당 줄이 있지만 아무 것도 변경되지 않았습니다. –

+0

그리고 당신은 유능한 설정으로 앱을 실행하고 있습니까? – Phil

답변

0

ErrorController을 사용하려면, 당신은 false에 전면 컨트롤러 throwExceptions 속성을 설정해야합니다.

resources.frontController.params.throwExceptions = 0 

http://framework.zend.com/manual/1.12/en/zend.controller.exceptions.htmlhttp://framework.zend.com/manual/1.12/en/zend.controller.plugins.html#zend.controller.plugins.standard.errorhandler.fourohfour를 참조하여 [production] 구성 섹션이 넣습니다.

위의 설명에서이 내용을 언급했지만 놓친 것 같습니다 (은 false으로 설정되었지만 throwExceptions이 아님).

+0

그래, 그 줄을 내 application.ini에 넣었지만 아무 것도 바뀌지 않았다.시스템은 계속 예외를 던집니다. –