gpt4 book ai didi

javascript - 重定向到不同域中的相同路径

转载 作者:行者123 更新时间:2023-11-30 14:30:57 26 4
gpt4 key购买 nike

如何重定向所有 https://www.A.net/Page.html将某些页面 Page.html 请求到另一个域上的相应页面 https://www.B.net/Page.html通过 https://www.A.net/404.html ? Github/Gitlab Pages 将所有 Page-not-found 错误重定向到后者。是否有可能以某种方式检索原始请求的页面并在 Javascript 函数中使用它来修改重定向 URL?

我目前使用类似以下 HTML 代码的东西进行多对一重定向,但我更需要一对一重定向(即不总是相同的 https://www.B.net/404.html)。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8"/>
        <meta http-equiv="refresh" content="0; URL=https://www.B.net/404.html">
        <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
        <meta name="viewport" content="width=device-width; initial-scale=1.0"/>
    </head>
    <body>
        You are being redirected to https://www.B.net/404.html <a href="https://www.B.net/404.html">https://www.B.net/404.html</a>
    </body>
</html>

现状(多对一):

www.A.net/Page1.html -> www.A.net/404.html -> www.B.net/404.html
www.A.net/Page2.html -> www.A.net/404.html -> www.B.net/404.html

期望的情况(一对一):

www.A.net/Page1.html -> www.A.net/404.html -> www.B.net/Page1.html
www.A.net/Page2.html -> www.A.net/404.html -> www.B.net/Page2.html

请注意,我在 Github/Gitlab 托管静态网站。

特定上下文:我想将我的 Gitlab 和 Bitbucket 页面重定向到我的 Github 页面。

最佳答案

您可以通过 Javascript 访问引荐来源网址,在那里解析它并相应地重定向。

例如

<script>
let referrer = new URL(document.referrer);
let hostRedirection = 'http://exampleB.com';

document.location.href = hostRedirection + referrer.pathname;
</script>

因为我正在使用 URL ,这与 IE 不兼容(但它与 Edge 兼容),尽管它非常简洁和可读。用 regexp shouldn't be too hard 来做.

强烈建议在未设置引荐来源网址的情况下添加一些错误处理。

关于javascript - 重定向到不同域中的相同路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51177730/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com