ASP.NET の「デスクトップ フレンドリー」サイト (www.company.com) と、別の「モバイル フレンドリー」サイト (m.company.com) があります。両方のサイトには、デバイスがデスクトップかモバイルかを検出し、要求を適切なサイトにリダイレクトしようとするリダイレクト ルールがあります。
モバイルサイトには「View Full Site」リンクがあります。これにより、親ドメイン (.company.com) のセッション Cookie (値「1」) が設定され、ユーザーがデスクトップ サイトに送信されます。デスクトップ サイトのリダイレクト システムが Cookie を検出すると (Cookie は親ドメインに属しているため読み取り可能)、モバイル デバイスをモバイル サイトにリダイレクトする通常のルールをスキップします。
これはすべて正常に動作しています...iPhoneのSafariを除いて!
このプラットフォームの場合のみ、リンクをクリックするとデスクトップ サイトにリダイレクトされず、モバイル サイトでそれ以降のすべてのナビゲーションで「リダイレクトが多すぎるため、Safari でページを開くことができません」というエラーが発生します。iPhone の Safari 設定に移動して [Cookie をクリア] をクリックすると、通常の状態に戻りますが、[サイト全体を表示] リンクをクリックするとすぐに問題が再発します。
私が最初に考えたのは、リダイレクト システムが交互に 301 リダイレクトを発行している、つまりリダイレクト ループを作成しているということでした。ただし、デバッガーが接続されていると、これが起こっていないことがわかります。発行されたリクエストとリダイレクトのストリームはありません -実際には単一のものではありません!! あたかも Safari が自分自身にリダイレクト命令を発行しているかのようです。
これは、iPhone の Safari でよく見られる問題のようであり、さまざまなユーザー フォーラムで多くのサイトで発生しているという報告が数多く寄せられています。ほとんどのユーザーは、iPhone でのみ発生し、iPad などでは発生しないと報告しています。
サーバーが問題の責任を負っていないように見えるので、私は何をすべきかについて頭を悩ませています! これまでの私の唯一のアイデアは、iPhone の「View Full Site」リンクを非表示にするか、非 Cookie ベースのリダイレクト バイパスを試すことです。
誰でも原因および/または解決策を説明できますか?