0

Bootstrap.php には、Zend_Controller_Router_Route_Regex を使用したカスタム ルートがいくつかあります。ユーザーがアドレスバーに間違ったリンクを入力した場合を除いて、すべて正常に機能します。

元 :

http://mysite/en/1-some-article.html=> これは Bootstrap の ROUTE に一致する有効なリンクです。

しかし、ユーザーが次のようなタイプミスをした場合:

http://mysite/en/1-some-article.**html'** or http://mysite/en/1-some-article.**hhtml**、それらは Bootstrap のどの ROUTE とも一致しない場合、Zend Framework は次のような例外をスローします: 要求に一致するルートがありません

「一致するルートがありません」のカスタムページにリダイレクトするなど、それを処理する方法はありますか?

どんな助けでも大歓迎です。前もってありがとう!

構成(以下のコメントから

[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_"
4

1 に答える 1

0

を利用するには、フロントコントローラーの属性をErrorControllerに設定する必要があります。これを構成セクションに入れますthrowExceptionsfalse[production]

resources.frontController.params.throwExceptions = 0

http://framework.zend.com/manual/1.12/en/zend.controller.exceptions.htmlおよびhttp://framework.zend.com/manual/1.12/en/zend.controller.plugins.html#zendを参照してください。 .controller.plugins.standard.errorhandler.fourohfour .

上記のコメントでこれについて言及しましたが、見逃したようです(に設定しましたが、displayExceptions設定しfalseませんでしたthrowExceptions)。

于 2012-11-01T05:31:34.113 に答える