KoaJS 重定向

  • 定义和使用

    Redirection(重定向) 在创建网站时非常重要。如果请求的 URL 格式不正确,或者服务器上有一些错误,您应该将它们重定向到相应的错误页。重定向也可以用来阻止人们进入你的网站的限制区域。
  • 示例

    var koa = require('koa');
    var router = require('koa-router'); 
    var app = new koa();
    
    var _router = router();   //实例化路由器
    _router.get('/not_found', async (ctx)=>{   //定义路由
        ctx.status = 404;
        ctx.body = "抱歉,我们没有此资源。";
    });
    _router.get('/hello', async (ctx)=>{   //定义路由
        ctx.status = 200;
        ctx.body = 'hello world';
    });
    
    async function handle404Errors(next) {
        if (404 != this.status) return;
        this.redirect('/not_found');
     }
    
    app.use(_router.routes());  //使用路由器定义的路由
    app.use(handle404Errors);
    
    app.listen(3001);
    
    当我们运行此代码并导航到 /hello 以外的任何路径时,我们将被重定向到 /not_found。我们把中间件放在最后(应用程序使用此中间件的函数调用)。这确保我们最终到达中间件并发送相应的响应。下面是我们运行上述代码时看到的结果。
    当我们导航到 http://localhost:3001/hello,我们得到-
    not
    如果我们导航到其他路线,我们得到-
    not_found