Koa.js - 重定向



当创建网站时,重定向非常重要。如果请求了格式错误的 URL,或服务器上出现错误时,应将用户重定向到相应的错误页面。重定向也可用于禁止用户访问网站的限制区域。

让我们创建一个错误页面,每当有人请求格式错误的 URL 时,就重定向到该页面。

var koa = require('koa');
var router = require('koa-router');
var app = koa();
var _ = router();

_.get('/not_found', printErrorMessage);
_.get('/hello', printHelloMessage);

app.use(_.routes());
app.use(handle404Errors);

function *printErrorMessage() {
   this.status = 404;
   this.body = "Sorry we do not have this resource.";
}
function *printHelloMessage() {
   this.status = 200;
   this.body = "Hey there!";
}
function *handle404Errors(next) {
   if (404 != this.status) return;
   this.redirect('/not_found');
}
app.listen(3000);

当我们运行此代码并导航至 /hello 之外的任何路由时,我们将被重定向到 /not_found。我们已将中间件放在最后(对此中间件 app.use 函数调用)。这可确保我们最终到达该中间件并发送相应的响应。以下是我们在运行上述代码时看到的结果。

当我们导航至 https://127.0.0.1:3000/hello 时,我们得到 -

Redirect Hello

如果我们导航至任何其他路由,我们得到 -

Redirect Error
广告