基于 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/查询参数的重定向的主要内容,如果未能解决你的问题,请参考以下文章

基于 JSON 回调数据的重定向 URL

OAuth2(授权代码授予类型)的重定向 URI 中是不是应该存在动态查询参数

如何删除 URL 中的参数并将其显示在地址栏中而不会导致 Javascript 中的重定向?

我需要撤消重定向插件完成的重定向 URL

java中的重定向是啥意思?

Laravel - 以 .php 结尾的重定向捕获/重定向 URL