我如何处理我的404自定义页面(以及可能的其他错误)?
我刚尝试在路由部分添加
GET /@codes /WebController->error
我的类WebController处理错误,而404我解决(部分).实际上它适用于
http://mydomain.ext/itdoesntexists
但如果我记得一个
http://mydomain.ext/sub/maybe_another_sub/and_so_on/doesnt_exist
我的路线(当然)不起作用.
顺便说一下,在每种情况下,它都不会推动404标题(只是对事物的疯狂看法,我正在考虑谷歌寻找资源而且它没有收到“纯粹的”404).
谢谢
您不必为此定义路线. F3将自动为任何未定义的路由生成404状态代码.
原文链接:https://www.f2er.com/php/136805.html这是一个简单的例子:
$f3->route('GET /','App->home'); $f3->set('ONERROR',function($f3){ echo \Template::instance()->render('error.html'); }); $f3->run();
error.html定义为:
<!DOCTYPE html> <head> <title>{{@ERROR.text}}</title> </head> <body> <h1>{{@ERROR.text}}</h1> <p>Error code: {{@ERROR.code}}</p> </body> </html>
现在,如果您调用任何未定义的路径,如/ foo,模板error.html将使用404状态代码进行渲染.
注意:这适用于其他错误代码.其他错误代码由F3或您的应用程序使用命令$f3->错误($status)触发,$status是任何有效的HTTP状态代码(404,500,403等…)