0

これは少し紛らわしいかもしれませんので、問題を説明する間、しばらくお待ちください。

私はウェブサイトwww.mydomain.comとモバイルバージョンm.mydomain.comを持っていますメインウェブサイトには特定のcookie_paramsセットがありませんモバイルサイトは具体的に設定します

session_set_cookie_params(0, '/', '.mydomain.com');

モバイルデバイスは自動検出され、モバイルサイトに転送されます。

モバイルサイトはチェックアウトにhttps://www.mydomain.com/mobile/を使用して、SSL証明書が有効になるようにします。だから私たちはmから切り替えています。wwwへ。安全に行くとき。

ここから奇妙さが始まります...

私のiPhoneでは、プロセス全体を問題なく実行できます。

ただし、コンピューターブラウザーを使用していて、特にモバイルサイトを使用することを選択した場合、チェックアウトに入ることができません。その理由は、session_idがm間で変更されているためです。&www。(&データベースはバスケットアイテムを見つけることができないため、チェックアウトに入ることができません)または2つのセッションIDがあります-1つはwww用です。&m用に1つ。

モバイルサイトのすべてのページに上記のパラメータが設定されているとすると、コンピュータブラウザがwwwの使用を選択するのはなぜですか。セッションID ?

これを解決するための提案は大歓迎です。

追加情報:FirefoxからすべてのCookieを削除し、ブラウザを再起動しました。m.mydomain.comに直接アクセスしましたが、これで問題なく動作し、チェックアウトできます。

したがって、おそらくこの情報では、URLに関係なく、モバイルサイトに特定のCookieパラメータ名を使用させる方法があるのでしょうか。

4

1 に答える 1

1
session_set_cookie_params(0, '/', '.'.str_replace('www.','',$_SERVER['HTTP_HOST']));
session_name('ses_name');
session_start();
于 2012-05-11T08:04:06.223 に答える