2011-09-11 80 views
0

我正在使用PHP中的header(位置:'http:// ..')命令重定向。 它在FireFox和Chrome中工作,但不在IE 8中。 我收到錯誤: 「Internet Explorer無法顯示網頁」 而且這是雖然頁面確實存在。PHP標頭重定向在IE 8中不起作用

可能是什麼原因呢?

重定向功能:

function redirect($url, $statusCode = 303) { 
    header('Location: ' . $url, true, $statusCode); 
    die(); 
} 

召喚:

redirect("/page.php"); 

感謝, 尼姆羅德。

+1

顯示驗證碼,如果可能,請輸入網址 –

+0

您是否可以使用足夠小的一段代碼來發布並顯示我們? –

+0

嘗試標題('Location:'。url);出口; –

回答

0

也許你還需要將HTTP狀態代碼設置爲3XX

+2

'header(「location:'does that that –

+0

status status is defined as 303. – Nimi

+0

@nimi - you right。Thinking of a different language than PHP。 –

2

PHP手冊人說:

HTTP/1.1 requires an absolute URI as argument to » Location: including the scheme, hostname and absolute path, but some clients accept relative URIs. You can usually use $_SERVER['HTTP_HOST'], $_SERVER['PHP_SELF'] and dirname() to make an absolute URI from a relative one yourself:

<?php 
/* Redirect to a different page in the current directory that was requested */ 
$host = $_SERVER['HTTP_HOST']; 
$uri = rtrim(dirname($_SERVER['PHP_SELF']), '/\\'); 
$extra = 'mypage.php'; 
header("Location: http://$host$uri/$extra"); 
exit; 
?> 

我覺得IE8是這些瀏覽器的一個...

+0

我試過了,但沒有幫助。錯誤代碼: – Nimi

+0

你認爲可能是什麼? – Nimi

+0

你是否嘗試直接在IE8中訪問該頁面?PHP重定向你後地址欄中顯示的是哪個url? – Ofir