Silexマイクロフレームワークを使用してカスタム404エラーページを表示しようとすると少し苦労しています。次のようにSilexがカスタムコンフィグレーションでレンダリングされていないカスタム404ページ
私のプロジェクトが設定されています。
- は
prod.php
設定ファイルをロードし、生産モードで実行するようにのindex.phpページを持って実行するためのindex_dev.phpを得ましたデバッグモード。また、prod.php
設定ファイルを使用しますが、いくつかの設定が$app['debug']
が真に設定されているように、dev.php
ファイルによって上書きされます。
そこで、基本的な構成は同じです。
次のように私は、エラーハンドラを定義している:
$app->error(function (\Exception $e, $code) use ($app) {
// commented for testing purposes
/*if ($app['debug']) {
return;
}*/
if ($code == 404) {
$loader = $app['dataloader'];
$data = array(
'global' => $loader->load('global'),
'common' => $loader->load('common', $app['locale']),
'header' => $loader->load('header', $app['locale']),
'footer' => $loader->load('footer', $app['locale'])
);
return new Response($app['twig']->render('404.html.twig', array('data' => $data)), 404);
}
return new Response('We are sorry, but something went terribly wrong.', $code);
});
http://localhost:8888/index_dev.php/my-non-existing-page
にアクセスしようとしたとき、私は私の404テンプレートレンダリング取得し、期待通りに表示されました。
アクセスhttp://localhost:8888/my-non-existing-page
にしようと、私の404テンプレートがレンダリングされていないと私の代わりに、標準の404エラーページを取得します!
私を助けるのは難しいかもしれません。必要に応じて詳細をお気軽にお尋ねください。私は単にここで実際に起こっていることをよりよく理解していきたいと思っています。
あなたのhtaccessのはどのようなものが見えますか? – gunnx
まだhtaccessファイルが定義されていません。ローカルサーバー上のグローバル設定(MAMPを使用)。あなたは特定の設定を考えますか?問題はホームページが正しく表示されていることです。問題は本当にエラーハンドラで、 "prod"設定のカスタム404ページを表示していないことです。 –
私はhtaccessファイルを持っていると思います。ここでは私がsilexプロジェクトで使用する非常に基本的なものを紹介します。 RewriteEngine On RewriteCond%{REQUEST_FILENAME}!-f RewriteRule^index.php [L、QSA] – gunnx