2012-05-18 17 views
9

私はdev環境から404ページで作業したいと思います。私は、このファイルを使用した404をカスタマイズ:アプリ/リソース/ TwigBundle /ビュー/例外/ error.html.twigdevfのsymfony2の404エラーページを表示

正しくこのPRODのURLの仕事:mysite.com/404

しかし、この1 mysite.com/app_dev.php/404がNotFoundHttpExceptionを投げると私与えますdevデバッグページ。

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

UPDATE:そのことについて今章として

公式ドキュメント:Testing Error Pages during Development

+0

オーバーライド 'アプリにルートを追加することができます:あなたはrouting_dev.ymlファイルに次のエントリを持っていることを確認し、これが機能を使用できるようにするには /Resources/TwigBundle/views/Exception/exception.html.twig'も同様です。 – meze

答えて

10

As of Symfony2.6のdevの環境では、次のルートを使用することができます:404がエラーをテストするためのコードとhtml要求の形式である

/_error/404.html 

# app/config/routing_dev.yml 
_errors: 
    resource: "@TwigBundle/Resources/config/routing/errors.xml" 
    prefix: /_error 
13

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

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

symfony2はこのテンプレートを使用して、開発中にできるだけ多くのデバッグ情報を提供します。

カーネルがデバッグモードになっている場合、Symfony2はexception_full.html.twigを使用します。そうでない場合、上書きする特定のテンプレートが使用されます。

詳細については、ベンダー/ symfony/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php、特にshowAction()関数とfindTemplate()関数を参照してください。バックそれを変更、あなたが必要なものをテストした後false

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

に2つ目のパラメータを変更するウェブ/ app_dev.phpで、エラーページを表示するには

+0

それは私の一日です。ありがとう、クリス。 –

+0

Symfony 2のようです。1、パスは 'vendor/symfony/symfony/src/Symfony/Bundle/TwigBundle/Controller/ExceptionController.php' – arminrosu

+2

' exception_full.html.twig'をオーバーライドするには 'cache:clear'しなければなりませんでした(SF2.1) –

17

。それを指摘してuser2019515 @


UPDATE

おかげで - 今(2.3以上)がWebfactoryExeptionsBundleへのリンクはSymfony docs中だと私は上に書いた方法を使用すべきではありません。

+0

dev envでエラーページをテストしたい場合は、これは間違いなく有効です。 – ftassi

+1

ドキュメントによれば、これを行うべきではありません:http://symfony.com/doc/current/cookbook/controller/error_pages.html – user2019515

+0

それを指摘してくれてありがとう、@ user2019515。しかし、私は確かに覚えていませんが、私はこの答えを書いたとき、WebfactoryExceptionsBundleに関するドキュメントにはありませんでした。 – CRONUS

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 
関連する問題