2012-03-01 11 views
1

私の仮想マシン(devサーバー)でUbuntuでApache2を実行しています。仮想サーバーがブラウザのバージョンを検出できません

は、私は次のコードを持っている:

<!--[if lt IE 9]> 
    U r using an old browser! 
    <![endif]--> 

私はIE9を使用していますが、これがPRODサーバー上で正常に動作します。しかし、自分のサイトを自分のローカルのdevサーバーでテストすると、私は「古いブラウザ」というメッセージを表示し続けます。

これはどうしてですか?

私は原因を見つけました。それは頭痛を引き起こしていたIEの奇妙なモードでした。次の行は、それを解決:

<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" /> 
+0

すべてのクライアント側は、サーバーとは関係ありません。互換モードが選択されていますか? –

+0

Daniel、なぜ私のプロダクションサーバーでこれが動作していますか? – Steven

答えて

2

あなたがlocalhost127.0.0.1を使用して、ローカルサイトにアクセスしている場合、これはthis bizarre IE behaviourに関連している可能性が。基幹業務のWebサイトの

多数ができる今日のInternet Explorer 7のとおりです。それはローカルサイト上の互換性に来るときのInternet Explorer 8は、「スマートデフォルト」を導入しました。互換性を維持するため、Internet Explorer 8にはゾーン評価に基づくスマートな既定値が付属しています。既定の状態では、パブリックインターネット上のすべてのサイトがInternet Explorer 8の標準モード(互換性ビューオフ)で表示され、すべてのイントラネットWebサイトはInternet Explorer 7標準モード(互換性ビュー)で表示されます。

私はIE9がこれをどのように処理するのか分かりませんが、これが原因である可能性があります。

その場合は、他のドメイン名(stevendevなど)を使用してローカルの開発サイトにアクセスしてみてください。 IEを通常モードにする必要があります。

+0

うわー....それを知らなかった。私のUbuntuサーバーはDHCPからIPアドレスを受け取るので、 'localhost'または' 127.0.0.2'を使用していません。私はちょうど私がPHPサーバー上のテストサーバーかどうかを確認するために私のPHPファイルにチェックを追加する必要があります。情報をありがとう。 – Steven

+0

@スティーブンhmm、strange。それが理由だとは思わない... IE9に互換モードを強制し、それがよりうまく動作するかどうかを調べることができる。 –

+1

解決策を見つけた。それは奇妙なモードのためだった。これを追加すると(私は思う) ' Steven

関連する問題