Перенаправление очень важно при создании сайтов. Если запрошен неверный 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 , мы получим —
Если мы перейдем к любому другому маршруту, мы получим —