diff --git a/lib/router.js b/lib/router.js index 9e2a14142..b4b8f01fa 100644 --- a/lib/router.js +++ b/lib/router.js @@ -2138,7 +2138,7 @@ router.get('/gbcc/trust', require('./routes/gbcc/trust')); router.get('/apnews/topics/:topic', require('./routes/apnews/topics')); // discuz -router.get('/discuz/:link', require('./routes/discuz/discuz')); +router.get('/discuz/:link(.*)', require('./routes/discuz/discuz')); // China Dialogue 中外对话 router.get('/chinadialogue/topics/:topic', require('./routes/chinadialogue/topics')); diff --git a/lib/routes/discuz/discuz.js b/lib/routes/discuz/discuz.js index 07f9a3454..fa27cc532 100644 --- a/lib/routes/discuz/discuz.js +++ b/lib/routes/discuz/discuz.js @@ -1,6 +1,7 @@ const buildData = require('@/utils/common-config'); module.exports = async (ctx) => { - const link = ctx.params.link; + let link = ctx.params.link; + link = link.replace(/:\/\//, ':/').replace(/:\//, '://'); ctx.state.data = await buildData({ link, url: link,