gpt4 book ai didi

php - Fat Free 框架 (F3) : custom 404 page (and others errors)

转载 作者:可可西里 更新时间:2023-11-01 12:42:13 25 4
gpt4 key购买 nike

我如何处理我的 404 自定义页面(以及可能的其他错误)?

我刚刚尝试在路由部分添加

GET /@codes /WebController->error

我的 Class WebController 处理错误的地方,我解决了 404(部分)。实际上它适用于

http://mydomain.ext/itdoesntexists

但如果我记得一个

http://mydomain.ext/sub/maybe_another_sub/and_so_on/doesnt_exist

我的路线(当然)行不通。

顺便说一句,在任何情况下,这条路线都不会推送 404 header (这只是一种疯狂的想象,我正在考虑向 Google 寻找资源,但它不会收到“纯”404)。

谢谢

最佳答案

您不必为此定义路线。 F3 将自动为任何未定义的路由生成 404 状态代码。

如果要定义自定义错误页面,需要设置ONERROR变量。

这是一个简单的例子:

$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->error($status) 触发,$status 是任何有效的 HTTP 状态代码(404、500、403 等...)

关于php - Fat Free 框架 (F3) : custom 404 page (and others errors),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19763414/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com