【问题标题】:Redirect to 2 pages重定向到 2 页
【发布时间】:2012-09-06 22:15:29
【问题描述】:

我有一个 PHP 页面,我想先将其重定向到一个页面(例如 google.com),然后再重定向到另一个页面(例如 bing.com)。

为此,我使用以下方法:

header('Location: http://google.com');
header('Location: http://bing.com');

问题是脚本在第一个“标题”处停止。 有没有办法做到这一点?

【问题讨论】:

  • 不,不可能,抱歉。
  • 将用户同时重定向到两个地方的逻辑是什么?
  • 听起来确实不是那么聪明,但您可以解释一下为什么要这样做,这样这个问题就不会被否决这么多? ;)
  • 告诉我们我这样做的目的是什么?
  • 如果它可以正常工作,您的浏览器会直接转到第二个 url (bing.com) 那么为什么要这样做呢?

标签: php redirect


【解决方案1】:

恐怕您所描述的行为是不可能的。您究竟希望它如何工作?一个浏览器窗口如何同时访问两个页面?毕竟,浏览器在收到响应之前无法解释您的响应标头。因此,您显示的两行代码之间没有任何步骤,浏览器在同一个响应中接收它们。

考虑网络的请求/响应性质,重新考虑您要尝试做什么以满足您正在解决的需求。你说:

我想先将其重定向到一个页面(例如 google.com),然后再重定向到另一个页面(例如 bing.com)

这里有一个事件的顺序:

  1. 用户请求您的页面。
  2. 您的页面响应重定向到第 1 页。
  3. 用户请求页面 1。
  4. 第 1 页响应。
  5. 用户请求第 2 页。
  6. 第 2 页响应。

您要插入的步骤在上述 4 到 5 之间。自然,您无法修改或以任何方式控制 Google 的响应,因此您无法控制无法控制的第 1 页响应重定向到第 2 页。(事实上,即使他们这样做了,它要么是内容,要么是重定向...不是两者。)

在我的脑海中,可能有一种解决方法可能适合您的需求。您可以使用框架将用户留在您的页面上,同时向他们展示这些其他页面的内容。在您可以控制的父框架中,您可以使用 JavaScript 设置各种计时器和其他事件,将用户从第 1 页引导到第 2 页。(是即时的吗?如果是这样,为什么还要为第 1 页而烦恼?是过了一会儿吗?应该是什么导致从第 1 页重定向到第 2 页?)

【讨论】:

    【解决方案2】:

    好吧,也许您想同时打开 2 个页面。 你可以通过javascript控制它。

    类似于以下代码:

    var open_link_google = window.open('','_parent');
    open_link_google.location="http://www.google.com";
    
    var open_link_yahoo = window.open('','_blank');
    open_link_yahoo.location="http://www.yahoo.com";
    

    【讨论】:

      【解决方案3】:

      类似于以下代码:

      var open_link_google = window.open('','_parent');
      open_link_google.location="http://www.google.com";
      
      var open_link_yahoo = window.open('','_blank');
      open_link_yahoo.location="http://www.yahoo.com";
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-24
        • 2017-10-07
        • 1970-01-01
        • 1970-01-01
        • 2016-07-07
        • 2018-01-21
        相关资源
        最近更新 更多