Did*_*hys 5 http-status-code-404 silex
我在尝试使用Silex微框架显示自定义404错误页面时苦苦挣扎.
我的项目配置如下:
prod.php配置文件 prod.php配置文件,但某些设置被dev.php文件覆盖,如$app['debug']设置为true.所以基本上配置是一样的.
我已经定义了一个错误处理程序如下:
$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);
});
Run Code Online (Sandbox Code Playgroud)
在尝试访问时http://localhost:8888/index_dev.php/my-non-existing-page,我会按预期呈现并显示我的404模板.
尝试访问时http://localhost:8888/my-non-existing-page,我的404模板未呈现,而是获得标准的404错误页面!
可能很难帮助我.如果需要,请随时询问更多详细信息.我只是愿意更好地了解这里发生的事情.
您将需要重写对您的index.php 文件的请求。请参阅下面的基本示例来使其正常工作。
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ index.php [L,QSA]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
8475 次 |
| 最近记录: |