我的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>
答案 0 :(得分:1)
您可以将Web服务器配置为提供html文件,例如将redirect.html
设置为/go/*
。这样可以在处理所有路径时保留路径名
然后您可以根据路径名重定向用户。
redirect.html中的脚本:
const data = //load data;
const redir = location.pathname.replace("/go/","");
location.href = data[redir];