13

開発環境から404ページで作業したいと思います。次のファイルを使用して404をカスタマイズします:app / Resources / TwigBundle / views / Exception / error.html.twig

この製品のURLは正しく機能します:mysite.com/404

しかし、これmysite.com/app_dev.php/404はNotFoundHttpExceptionをスローし、開発デバッグページを表示します。

デバッグページの代わりにエラーページを表示することは可能ですか?

アップデート:

公式ドキュメントには、それに関する章があります:開発中のエラーページのテスト

4

4 に答える 4

20

エラーページを表示するには、web/app_dev.phpで2番目のパラメータを次のように変更しますfalse

$kernel = new AppKernel('dev', false);

必要なものをテストした後、元に戻します。


アップデート

それを指摘してくれてありがとう@user2019515-今(2.3以上)SymfonyドキュメントにWebfactoryExeptionsBundleへのリンクがあり、私が上で書いた方法は使用されるべきではありません。

于 2013-07-30T06:34:45.567 に答える
17

開発環境のSymfony2.6以降、次のルートを使用できます。

/_error/404.html

404テストするエラーコードとhtmlリクエストの形式はどこにありますか。この機能を使用できるようにするには、routing_dev.ymlファイルに次のエントリがあることを確認してください。

# app/config/routing_dev.yml
_errors:
    resource: "@TwigBundle/Resources/config/routing/errors.xml"
    prefix:   /_error
于 2015-03-23T15:13:39.463 に答える
13

開発時にexception_full.html.twigテンプレートをオーバーライドする必要があります。

app/Resources/TwigBundle/views/Exception/exception_full.html.twig

Symfony2はこのテンプレートを使用して、開発中に可能な限り多くのデバッグ情報を提供します。

カーネルがデバッグモードの場合、Symfony2はexception_full.html.twigを使用します。それ以外の場合は、オーバーライドした特定のテンプレートを使用します。

詳細については、vendor / symfony / src / Symfony / Bundle / TwigBundle / Controller / ExceptionController.php、特にshowAction()およびfindTemplate()関数を参照してください。

于 2012-05-18T16:23:34.570 に答える
0

また、 routing_dev.ymlファイルにルートを追加することもできます

error404:
    path: /404
    defaults:
        _controller: FrameworkBundle:Template:template
        template:    TwigBundle:Exception:error404.html.twig

error500:
    path: /500
    defaults:
        _controller: FrameworkBundle:Template:template
        template:    TwigBundle:Exception:error500.html.twig
于 2015-09-17T15:03:31.903 に答える