Web サイト開発では、ページジャンプを実現するためにリダイレクト機能がよく使用されます。 PHP では、ヘッダー関数を使用してリダイレクトを実現できます。例:
header('Location: http://www.example.com'); exit;
ただし、実際の開発では、時々問題が発生することがあります。その 1 つは、リダイレクトにヘッダー関数を使用するときです。 IEブラウザ。この記事では、この状況の解決策について説明します。
1. IE ブラウザのエラー現象
リダイレクトにヘッダー関数を使用すると、一部の IE ブラウザではエラー プロンプト ボックスが表示されます。
これは、 Location の値を相対パスに指定すると、IE ブラウザはそれをネットワーク パスではなくファイル システム パスとして解釈し、エラーが発生します。
2. 解決策
これが発生した場合、次の解決策が考えられます:
1. 絶対パス
を使用して、場所の値を変更します。は絶対パスに設定されます。例:
header('Location: http://www.example.com/index.php'); exit;
これにより、IE ブラウザによる相対パスの誤った解釈を回避できます。
2. 出力バッファリングを使用する
ヘッダー関数を使用する前に、ob_start 関数を使用して出力バッファリングをオンにします。例:
ob_start(); header('Location: /index.php'); ob_end_flush(); exit;
これにより、ヘッダー関数が確実に機能します。出力前に実行され、Location の値は相対パスに設定されます。
3. IE 設定を変更する
IE ブラウザの「セキュリティ以外」オプションの「保護モードを有効にする」を同じに設定するか、チェックを外してこの問題を解決します。ただし、ほとんどのユーザーは IE の設定を変更しないため、この方法はあまり実用的ではありません。
4. 概要
リダイレクトにヘッダー関数を使用すると、IE ブラウザでエラーが発生します。これは、相対パスが IE によって誤ったファイル システム パスとして解釈されることが原因である可能性があります。この状況の発生を回避するには、絶対パスを使用するか、出力バッファリングを使用するか、IE 設定を変更して問題を解決します。
以上がPHPがIEエラーをリダイレクトする場合の対処方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。