2010-03-18 73 views
3

如何使用标题重定向使其重定向到当前页面?如何重定向到php中的当前页面?

编辑:我试图使它重新加载浏览器中当前显示的页面。

+2

? : - /你能告诉我们你对“重定向”这个词的理解是什么吗? – 2010-03-18 01:28:11

+0

我认为这不应该是必要的。 – Young 2010-03-18 01:45:46

+0

您是否要求重定向或刷新(如重复GET和POST数据)? – 2010-03-18 01:51:17

回答

2

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

PHP本身不能强制刷新页面。你需要使用JavaScript:

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

.reload(true)位指示浏览器做一个硬刷新(即抓取网页的来自服务器的新副本)。

+0

当然,您可以在不需要浏览器的情况下将它添加到元素的onLoad事件中(例如) – Darbio 2010-03-18 02:08:25

1

我认为你需要让我们更好地理解这个问题。但我可以告诉你正在寻找这样的:

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

您可以使用以下的mypage.php的开始:

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

manual一些信息。

3
header('Location: http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']); 
+0

我会有点警惕 - 攻击者可能会制造出一个'Host'头部的值,或者是一个URI,当直接推入'Location'头部时,它可能会做一些意想不到的事情。可能是一个好主意,至少'filter_var()'... – 2010-03-18 01:38:00

+0

@Frank好思想,但根据反馈给我的问题http://stackoverflow.com/questions/2209894/sanitation-for-url-used- in-header-location貌似不是问题。 – 2010-03-18 01:48:23

+0

@Frank Farmer:我无法想象这里有任何真正的恶意数据。 – zerkms 2010-03-18 02:50:06

0
$url = 'mypage.php'; 
header('Location: ' . $url); 
die('<a href="' . $url . '">Click Here</a> if you are not redirected.'); 

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

0

您也可以在不PHP为此在HTML不惜一切...简单,但并不总是适合您的需要(元将工作每次页面加载)

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

其中:

  1. content =秒重定向
  2. url =您要重定向到的页面。
0

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