如何在HTML / JavaScript中轻松处理JSON重定向?

时间:2019-07-06 11:08:37

标签: javascript json redirect

我的Web服务器上有一个名为/go/的目录。实际上,这将用作https://example.com/go/x,其中x是存储在JSON文件中的变量。可以像这样设置JSON文件;

{
    "stackoverflow": "https://stackoverflow.com/",
    "apple":         "https://apple.com/",
    ...
}

我想以某种方式检查这些变量中的任何一个是否检查/go/x并将它们重定向到等效变量。实际上,它的使用方式类似于https://example.com/go/stackoverflow,它将把我重定向到此站点。

我不想在该目录中添加多个HTML文件并从那里重定向,因为我想从外部管理JSON响应。但这无关紧要。

我目前还没有解决方案,但是正在考虑一个JavaScript脚本,该脚本检查JSON是否匹配。但是,我不知道该脚本将如何运行,因为它不会被任何东西击中或调用。我已经有可以调用的脚本,但是在/go/x紧急时不知道如何调用该脚本:

import "Paths.json" as Paths;
if (window.location.pathname == "/go/") {
    const Location = JSON.parse(Paths)[window.location.href];
    window.location.replace(Location);
}

结论:我想根据x中的变量/go/x将用户重定向到不同的页面。重定向存储在JSON中。每次/go/被命中时,我想运行一个JavaScript脚本来检查该变量,然后将用户重定向到另一个页面,而不为每个重定向添加不同的HTML文件,依此类推。 / p>

1 个答案:

答案 0 :(得分:1)

您可以将Web服务器配置为提供html文件,例如将redirect.html设置为/go/*。这样可以在处理所有路径时保留路径名

然后您可以根据路径名重定向用户。

redirect.html中的脚本:

const data = //load data;
const redir = location.pathname.replace("/go/","");
location.href = data[redir];