2013-06-06 7 views
10

をIE 8に失敗し、古い、我々は広告のランディングページにリダイレクトするために、次の単純なPHPスクリプトを使用しますリダイレクトランダムに当社の広告サーバーで

<?php 
$lp=array_key_exists('lp',$_REQUEST)?trim($_REQUEST['lp']):""; 
$location = sprintf('Location: %s', $lp) ; 
header($location) ; 
?> 

スクリプトはそのlpパラメータを取り、そのURLにリダイレクト。目的は、アクセスログをスキャンしてクリックスルーを追跡できるようにすることです(URLには、スクリプトが無視するidパラメータも含まれています)。

これは一貫して動作していないが、IE 8以上では1人の顧客(私がこれまでに知っている)があります。問題とURLは次のとおりです。

http://webutil.bridgebase.com/v2/ad_lp.php?id=340&lp=http%3A%2F%2Ftravelinsingles.com%2Fhome.htm

これはhttp://travelinsingles.com/home.htmにリダイレクトする必要がありますが、時にはそれが(存在しない)http://webutil.bridgebase.com/home.htmに行きます。常に広告の最初のクリックで発生するようです。後続のクリックがリダイレクトを正しくたどることがあります。また、悪いURLに移動し続けることもあります。

私は私たちのウェブサーバ上でパケットキャプチャを実施し、それは我々が正しいヘッダ送っているように見えます:

HTTP/1.1 302 Moved Temporarily 
Server: nginx/1.2.1 
Date: Thu, 06 Jun 2013 01:39:12 GMT 
Content-Type: text/html 
Transfer-Encoding: chunked 
Connection: close 
X-Powered-By: PHP/5.4.15-1 
Location: http://travelinsingles.com/home.htm 

を私は失敗と成功のリダイレクトの両方に取り込まれ、ヘッダは日を除き同一でした。

私はMacを使用していますので、BrowserStackを使用してIEをテストすると、クライアント側のデバッグ能力が制限されます。誰もがこれを引き起こしている可能性があることを知っていますか、それを回避するために何かできることがあれば?

BrowserStackのスクリーンショット機能を使って、私は、問題を再現:あなたはrawurldecode($lp)を使用する場合はどうなります

http://www.browserstack.com/screenshots/3659c3b992a1738594d2fd370caef2852fecb3fa

+0

メールで送信される機会がありますか? –

+0

これはあなたの問題とは関係ないかもしれませんが、私は不思議です - IE8はどのレンダリングモードで動作していますか? Quirksまたは標準モード?私はIE8の奇妙なモードでいくつかの奇妙なものに遭遇しました。 – Revent

+0

@Dagonいいえ、内部HTMLが広告画像であるアンカーのhrefです。しかし、ブラウザのURLをブラウザに入力するだけで、問題が再現されました。 – Barmar

答えて

0

何?私はIE7-10でWindows 7でテストしましたが、うまく動作します(両方向)。奇妙な!

IEでリダイレクトされているURLを確認します。アドレスバーの内容は何ですか?

0

私は通常、ヘッダーのリダイレクトに関する問題を防ぐため、私は通常ob_start()を使用します。およびob_flush();

<?php 
ob_start(); //at the top of the page// 


header($location) ; 
ob_flush(); 
?> 
1

は違いを作るあなたのPHPの終わりにexitまたはdie();を追加していますか?

コンテンツがまだ体内に存在している間、リダイレクトヘッダが送信されたときに時々、HTTPクライアントがそれを好きではない(それは空のコンテンツだ場合でも:スペース、改行など)

-1

たぶん、あなたは上の出力バッファリングを持っていますサーバー。出力バッファリングは、バッファーのためにヘッダーを出力することができます(ヘッダーを最初に送信する必要があります)。

ご希望の場合は

+0

いいえ、出力バッファリングはありません。 – Barmar

関連する問題