基于 URL/查询参数的重定向
Posted
技术标签:
【中文标题】基于 URL/查询参数的重定向【英文标题】:Redirect based on URL/Query Parameters 【发布时间】:2021-07-29 05:22:26 【问题描述】:我基本上只是想根据 URL(或查询)参数将用户重定向到不同的站点,但我不知道如何。
如果 URL 是 https://www.tamoghnak.tk/redirect?link=https://www.tamoghnak.tk/gobob
,那么它应该重定向到 https://www.tamoghnak.tk /gobob。
如果 URL 是 https://www.tamoghnak.tk/redirect?link=https://***.com
,那么它应该重定向到 https://***.com 等等(重定向到参数中的任何站点)。
我该怎么做? (在 Node、JS、html 等中)
【问题讨论】:
到目前为止你尝试过什么?包括您的代码会很有帮助。您可以通过多种方式从 Node 中的 URL 获取查询字符串。您是在创建简单的 HTTP 服务器还是使用 Express 之类的框架? 我正在使用 Express 【参考方案1】:如果你使用 Express,它可能是这样的:
const app = require('express')();
app.get('/from', (req, res) =>
// The optional first parameter to `res.redirect()` is a numeric
// HTTP status.
res.redirect(301, '/to');
);
app.get('/to', (req, res) => res.send('Hello, World!'));
const server = await app.listen(3000);
const res = await axios.get('http://localhost:3000/from'); // "Hello, World!" res.data;
链接https://masteringjs.io/tutorials/express/redirect
您所要做的就是从 get 请求中获取参数并将其值粘贴到重定向中。
我的代码:
const app = require('express')();
app.get('/from', (req, res) =>
res.redirect(301, req.query.link);
);
【讨论】:
@TamoghnaK13 下一次,您最好编写您正在使用的技术堆栈。我很幸运,我猜到了,但我可能没有猜到。以上是关于基于 URL/查询参数的重定向的主要内容,如果未能解决你的问题,请参考以下文章
OAuth2(授权代码授予类型)的重定向 URI 中是不是应该存在动态查询参数