0

私は Symfony 2.1 に基づいており、以前に他の人によって開発された Web アプリケーションをサポートしています。私のタスクは、カスタマイズされたエラー ページを追加しようとしています。

私がしたことは、以下のファイルを追加することだけでした:

/app/Resources/TwigBundle/views/Exception/
                                   |-error404.html.twig
                                   |-error500.html.twig
                                   |-exception_full.html.twig

それらのすべてを次のコンテンツにします。

<!DOCTYPE html>
<html>   
    <body>
        <p>Errore!</p>
    </body>
</html>

たとえば、ルートが app_dev.php で間違って入力された場合、エラー ページは開発環境で正しく表示されます。デバッグ エラー ページをオーバーライドするために、exception_full テンプレート (上記のリストに含まれています) を使用しました。

残念ながら、フォームでURLを使用すると、prod構成で同じ動作が得られません

http://[..host..]/web/app.php/[..wrong route..]

ここで何が欠けているのか誰にも分かりますか? また、これを追加して ExceptionController をさらに検査しようとしました:

echo "Abort!";
exit;

ここで関数 findTemplate(...) の先頭に:

/vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php

そして、応答が「中止!」だったので、戦略が開発に正しく適用されたことを確認できました。予想どおりですが、応答がまだ空白のページだったため、本番環境ではありません。

完全を期すために、ルートが正しい場合、応答は一般的に正しいと言えます。

4

1 に答える 1

0

私は自分で解決しました。おそらく私のローカルワークスペースが破損していたため、問題は完全に誤解を招いたようです。今日、ローカル GIT リポジトリを削除し、リモート GIT リポジトリのクローンを再度作成し、Zend Studio でプロジェクトを開き、ローカル プロジェクトをリモート サーバーと同期し (dev デプロイ)、カスタム エラー ページのテンプレートを再度適用しました。 prod 環境で期待どおりに動作しました。

于 2013-09-27T12:57:27.790 に答える