IE 6 & 7 からのリクエストを他のすべてのブラウザーとは異なる方法で処理するように nginx に指示する必要があります。そこで、nginx でリクエストを書き直すための小さなチェックを書きました。
if (\$http_user_agent ~ "MSIE [67]\.") {
rewrite ^ ${ROOT_ROOT}ancient/ last;
break;
}
職場では、クロスブラウザー テストに browserstack を使用しています。しかし、さまざまな構成で小さな変更をテストするにはかなり時間がかかるため、さまざまなユーザー エージェント文字列を使用して一連の cURL 要求を実行するテスト スクリプトを作成し、サーバーが目的のコンテンツを返すことを確認しました。
UA スプーフィングを使用した curl 実行の例を次に示します。
curl -LvA 'Mozilla/5.0 (Windows; U; MSIE 7.0; Windows NT 6.0; en-US)' http://localhost:8008/"
とにかく、問題は、Browserstack 環境からの正確な UA 文字列で cURL を使用すると、Browserstack でページに直接アクセスしようとしたときと同じ動作が見られないことです。
とても奇妙です。ブラウザスタックでは、サーバーはリクエストを認識しません (ブラウザは接続の問題があると表示します) が、cURL では適切なコンテンツが読み込まれ、サーバーは 200 を返します。
ここで私の問題を完全に解決してくれる人はいないと思いますが、私が知らない cURL に制限があるかどうかを調べようとしています。
前もって感謝します。