【问题标题】:PHP Redirect user and save previous URL in browser's historyPHP重定向用户并将以前的URL保存在浏览器的历史记录中
【发布时间】:2021-10-18 07:40:00
【问题描述】:

这让我很困惑。假设用户访问文件夹 A,但是,假设由于某种原因,他被重定向到文件夹 B。问题是浏览器没有将位置 A 记录到其历史记录中。

url/A 重定向到一个稍微不同的位置 url/B

用户点击“历史返回按钮”后,并没有到达之前的url/A位置。我会说,它有点被省略了。

我已经尝试了这两种重定向方法。而且他们似乎没有将当前 URL 保存到浏览器的历史记录中。

header("Refresh:0; url=$url_b");
header('Location: '.$url_b); 

【问题讨论】:

  • 为什么A要成为在历史上?对该请求的响应是我的浏览器无法以任何方式“显示”的任何内容,它立即被告知它应该去其他地方寻找 - 那么我为什么要从那里“返回”呢?
  • @CBroe 假设用户不符合某些条件并被重定向。下次用户可能会匹配条件并会留下来或被重定向到其他地方。

标签: php redirect header browser-history


【解决方案1】:

虽然我还在质疑其中的原因,但您也许可以在 A 页面上使用 javascript 进行重定向。通过这种方式,我们能够回到我们在返回点击时的位置。

所以这里我们有一个仅在 php 条件为 false 时运行的 js 脚本:

<?php
if ( ! condition) { ?>
    <script>
        window.location.href = "http://example.com/B";
    </script>
<? }
?>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-06
    • 1970-01-01
    • 1970-01-01
    • 2013-09-11
    • 1970-01-01
    • 1970-01-01
    • 2013-04-02
    • 2014-03-18
    相关资源
    最近更新 更多