これまでのところ、「TwigBundle」カスタム error404.html.twig ページは、次をスローするとプロダクション モードで正しく表示されます。
$this->createNotFoundException('whatevs');
ただし、「NotFoundHttpException」が Symfony によってスローされると (ルートが見つからない場合など)、「ルートが見つかりません」ページが実際に app_dev に表示され、「404 Not Found」と記載されますが、プロダクション モードでは空白が表示されるだけです。ページ...
Symfony のドキュメントによると、「createNotFoundException() メソッドは特別な NotFoundHttpException オブジェクトを作成し、最終的に Symfony 内で 404 HTTP レスポンスをトリガーする」ため、これは正常ではないようです。
では、なぜ同じ動作をしないのですか? 足りないものはありますか?
master ブランチを使用しています。
編集: これが私の security.yml ファイルです。私は FOSUserBundle と FOSFacebookBundle を使用しています:
security:
providers:
chain_provider:
chain:
providers: [fos_userbundle, my_fos_facebook_provider]
fos_userbundle:
id: fos_user.user_manager
my_fos_facebook_provider:
id: my.facebook.user
encoders:
"FOS\UserBundle\Model\UserInterface": sha512
firewalls:
public:
pattern: ^/
fos_facebook:
app_url: "http://apps.facebook.com/***/"
server_url: "http://localhost/facebookApp/"
login_path: /login
check_path: /checkFb
default_target_path: /
provider: chain_provider
form_login:
login_path: /login
check_path: /login_check
provider: chain_provider
remember_me: true
csrf_provider: form.csrf_provider
remember_me:
key: %secret%
anonymous: true
logout: true
login:
pattern: ^/(login$|register|resetting)
anonymous: true
role_hierarchy:
ROLE_ADMIN: ROLE_ADMIN
ROLE_SUPER_ADMIN: [ROLE_ADMIN, ROLE_ALOOW_TO_SWITCH]
ROLE_USER: ROLE_USER
access_control:
- { path: ^/, role: [IS_AUTHENTICATED_ANONYMOUSLY] }
- { path: ^/secured/, role: [IS_AUTHENTICATED_FULLY] } # This is the route secured with fos_facebook
- { path: ^/facebook/, role: [ROLE_FACEBOOK] }