关于koa-router的redirect的问题 - CNode技术社区

关于koa-router的redirect的问题
发布于 8 年前 作者 tangtangtangtangtang 10186 次浏览 来自 问答

1.使用重定向功能代码如下

router.redirect("/", '/back/developer/getting-started');
router.all([/\/.*/],async ctx =>{
 await ctx.render('index')
})

我在访问 localhost:5757的时候不会产生重定向的作用 如果写成如下

router.redirect("/front/developer/getting-started", '/back/developer/getting-started');
router.all([/\/.*/],async ctx =>{
 await ctx.render('index')
})

我在front/developer/getting-started的时,刷新页面可以重定向到相应页面, 也就是说"/"不起作用 以下是全部代码部分

const Koa = require('koa')
const app = new Koa()
const debug = require('debug')('koa-weapp-demo')
const bodyParser = require('koa-bodyparser')
const koaStatic = require('koa-static')
const views = require('koa-views');
const proxy = require('koa-proxy');
const config = require('./config');
const job = require("./jobs/syncMd");
job.start();
app.use(koaStatic(__dirname + '/static'));
// 解析请求体
app.use(bodyParser())
// Must be used before any router is used
app.use(views(__dirname + '/views'));
const router = require('./router')
/*
 todo特别迷!重定向又不起作用了,在前端去重定向了
 */
// router.redirect("/", '/back/developer/getting-started');
router.all('/', ctx => {
 ctx.redirect('/back/developer/getting-started');
 ctx.status = 301;
});
router.all([/\/.*/],async ctx =>{
 await ctx.render('index')
})
// 引入路由分发
app.use(router.routes())
 .use(router.allowedMethods())
// 启动程序,监听端口
console.log("listening "+config.port);
app.listen(config.port, () => debug(`listening on port ${config.port}`))

多谢

1 回复

看你贴上来的代码和用法都没啥问题。 建议看看是不是浏览器缓存影响了你的判断,301会被浏览器缓存,建议你用curl之类的测试

回到顶部

AltStyle によって変換されたページ (->オリジナル) /