2010-03-18 77 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']來獲取當前頁面。