Учебники

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: // localhost: 3000 / hello , мы получим —

Переадресация Привет

Если мы перейдем к любому другому маршруту, мы получим —