在Bootstrap.php中我有一些使用Zend_Controller_Router_Route_Regex的自定義路由。 除非用戶在地址欄中輸入錯誤的鏈接,否則一切正常。Zend Framework:如何處理「沒有路由匹配請求」的錯誤?
例:
http://mysite/en/1-some-article.html
=>這是在引導路線相匹配的有效鏈路。
但是,當用戶輸入了錯字的錯誤,如:
http://mysite/en/1-some-article.**html'** or http://mysite/en/1-some-article.**hhtml**
,他們不匹配引導任何路線,然後Zend框架拋出一個異常,如:沒有路由匹配請求
反正有處理它就像重定向到「無匹配路線」的自定義頁面一樣?
任何幫助將不勝感激。感謝您的提前!
配置(從下面評論)
[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_"
在您的生產環境中,您可以將'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
@Phil:我的application.ini中有這行,但沒有任何改變。 –
而您正在使用prod設置運行您的應用程序? – Phil