このページの手法を使用して、単純なモバイル/デスクトップリダイレクトを設定しています。また、モバイルサイトにCookieを設定して、ユーザーがデスクトップサイトにリンクし直したい場合に、そのCookieが読み取られ、リダイレクトが行われないようにします。私はWordpressサイトを扱っていますが、リダイレクトは機能しますが、Cookieは正しく機能していません。これが起こっていることです:
- モバイルリダイレクトは機能します
- Cookieが正常に設定されました(WP外のテストページで確認済み)
- ユーザーがクリックしてデスクトップサイトに戻ると、Cookieは表示されず、ユーザーは再びモバイルサイトにダンプされます。
2つの外部静的ページを使用してコードをテストしましたが、すべてが100%機能します。Wordpressでまったく同じコードを使用する場合は違います。各サイトのheader.phpファイルからの私のコードは次のとおりです。
デスクトップサイト
<?php
include('Mobile_Detect.php');
$detect = new Mobile_Detect();
if ( $detect->isMobile() && isset($_COOKIE["mobile"]) ) {
$detect = "false";
}
else if ( $detect->isMobile() ) {
header("Location:http://m.example.com");
}
?>
モバイルサイト
<?php setcookie('mobile','m', time()+3600, '/','.example.com'); ?>
PHPコードは、ファイル内の最初のものであり、HTMLの前にあり、その前後に誤った空白はありません。私はいくつかのテキストをエコーすることによってこのコードをテストしました、そしてスクリプトはそこにありそしてそれがすべきことをします。Cookieが表示されず、モバイルサイトへのリダイレクトが正常に停止するという問題が1つだけあります。
何時間も経ったら、助けが必要です!