4

モバイル ブラウザをサイトのモバイル固有バージョンにリダイレクトする方法を探しています。私の問題は、ユーザーが必要に応じてデスクトップ サイトを表示できるようにするリンクをモバイル バージョンにも提供する必要があることです。

ブラウザに基づいてリダイレクトすることはできますが、メイン サイトへのリンクはモバイルにループバックするだけです。

セッション データを破棄するログイン システムがあり、ユーザーがログアウト時にモバイル サイトに戻るため、セッション変数を使用できません。

別のデスクトップ ホームページへのインデックス ページとしてリダイレクト スクリプトを使用することを考えましたが、これにはデスクトップ サイトを再構築する必要があり、cms に大混乱をもたらすでしょう。これが検索エンジンの評価にどのような影響を与えるかもわかりません.

この問題を処理する他の良い方法を誰か教えてもらえますか?それとも、私のデスクトップ サイトを再構築する必要がありますか?

4

3 に答える 3

4

ユーザーが get パラメータを送信しているデスクトップ バージョンを強制的に表示する場合は、Cookie (セッション Cookie ではなく) を設定し、ブラウザがモバイル バージョンにリダイレクトすることを検出したブロックでその存在を確認する必要があります。基本的に(疑似コード):

# set the cookie if the user want to see the desktop version
if GET[force-desktop-version]
   set_cookie(force-desktop-version = 1)
end

# check the cookie and the browser before redirecting
if NOT get_cookie(force-desktop-version) and mobile_browser_used 
   redirect_to the_mobile_version
end
于 2013-06-25T13:11:41.947 に答える
1

いいえ!これを回避する非常に簡単な方法があります。ユーザーが最後にアクセスしたページを次のように確認できます document.referrer
。リファラーがモバイル ページ以外の Web サイトの場合はユーザーをモバイル ページに送り、それがモバイル ページの場合は、ユーザーが「デスクトップへのリダイレクト」をクリックしたことがわかります。バージョン」リンク。

于 2013-06-25T13:03:47.167 に答える
0

サインアウト ページ (セッション データが破棄される場所) で、$_SESSION['mobile'] または変数名が 1 に設定されているかどうかを確認します。1 に設定されている場合は、セッションを再度開始し、新しいセッションでこの値のみを 1 に設定してから、ホームページにリダイレクトします。

于 2013-06-25T13:07:15.017 に答える