2011-09-11 14 views
0

PHPでヘッダ(位置: 'http:// ..')でリダイレクトする際に使用しています。 FireFoxとChromeでは動作していますが、Internet Explorer 8では動作しません。 エラーが表示されます。 「Internet Explorerでウェブページを表示できません」 ページは実際に存在していますが、IE 8でPHPヘッダリダイレクトが機能しない

どういう理由が考えられますか?

リダイレクト機能:

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

コール:

redirect("/page.php"); 

おかげで、 ニムロッド。

+1

コードを表示し、可能であればURL –

+0

これを投稿して表示するのに十分な小さなコードでこれを再現できますか? –

+0

試してみてください( 'Location:'。url);出口; –

答えて

0

おそらく、あなたも3xxの

+2

'header(" location: 'は自動的にそれを行います) –

+0

ステータスコードは303と定義されています – Nimi

+0

@nimi - あなたが正しいです。PHPとは異なる言語を考えています –

2

のいずれかにHTTPステータスコードを設定する必要が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は、これらのブラウザの1 ...

だと思います
+0

私はそれを試しましたが、 – Nimi

+0

あなたはそれが何であると思われますか? – Nimi

+0

IE8で直接ページにアクセスしようとしましたか?PHPがリダイレクトした後にアドレスバーに表示されるURL – Ofir

関連する問題