【问题标题】:How do I redirect to the current page in php?如何在php中重定向到当前页面?
【发布时间】:2010-03-18 01:25:04
【问题描述】:

如何使用 header 重定向使其重定向到当前页面?

编辑:我正在尝试让它重新加载浏览器中当前显示的页面。

【问题讨论】:

  • ? :-/ 你能告诉我们你对“重定向”这个词的理解是什么吗?
  • 我认为没有必要。
  • 您是否要求重定向或刷新(如重复 GET 和 POST 数据)?

标签: php redirect header


【解决方案1】:
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']);

【讨论】:

  • 我会有点警惕——攻击者是否有可能制作 Host 标头的值,或者直接插入Location 标头?至少filter_var()... 可能是个好主意
  • @Frank 想法不错,但根据我的问题stackoverflow.com/questions/2209894/… 的反馈看来不是问题。
  • @Frank Farmer:我无法想象这里有任何真正邪恶的数据。
【解决方案2】:

编辑:我正在尝试让它重新加载 当前显示的页面 浏览器。

PHP 本身无法强制刷新页面。您需要使用 javascript:

<input type="button" onclick="window.location.reload(true)" value="Reload It" />

.reload(true) 位指示浏览器进行硬刷新(即从服务器获取网页的新副本)。

【讨论】:

  • 您当然可以通过将其添加到元素的(例如)onLoad 事件中而无需浏览器来执行此操作
【解决方案3】:

我认为您需要让我们更好地理解这个问题。但据我所知,您正在寻找这个:

 header("Location: ".$url);
 exit(1); // Needed!

【讨论】:

    【解决方案4】:

    您可以在 mypage.php 的最开始使用以下内容:

    header('Location: /mypage.php');
    

    来自manual的一些信息。

    【讨论】:

      【解决方案5】:
      $url = 'mypage.php';
      header('Location: ' . $url);
      die('<a href="' . $url . '">Click Here</a> if you are not redirected.');
      

      重定向到 mypage.php。如果失败,用户会收到一条消息并链接到重定向页面。

      【讨论】:

        【解决方案6】:

        您也可以在完全不使用 PHP 的情况下在 HTML 中执行此操作...简单,但并不总是适合您的需求(每次页面加载时 Meta 都会工作)

        <meta http-equiv="refresh" content="10;url=http://www.yoursite.com/yourpage.htm" />
        

        地点:

        1. 内容 = 重定向秒数
        2. url = 您要重定向到的页面。

        【讨论】:

          【解决方案7】:

          如果您正在重写您的网址,您可以使用$_SERVER['REDIRECT_URL'] 来获取当前页面。

          【讨论】:

            猜你喜欢
            • 2013-09-08
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-02-10
            • 2013-07-10
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多