質問があります。私の Joomla サイトでは、2 つの異なるテンプレートを作成しました。1 つのテンプレートはデスクトップ バージョンで、もう 1 つはモバイル用です。
どちらのテンプレートも正常に機能しています。デスクトップがデフォルトのテンプレートです。
しかし、モバイル ユーザーを URL www.domain.nl/mobiel にリダイレクトするモバイル認識およびリダイレクト スクリプトが必要です (この URL にはモバイル テンプレートがあります)。
これで、デフォルト (デスクトップ テンプレート) に php コードが実装されました。このコードは、モバイル ユーザーをこの URL にリダイレクトします。スクリプトは正常に動作します。
そして、モバイルページには、デスクトップモード「 http://www.domain.nl/?mode=desktop」のホームページに正しくリンクするURLがあります
しかし問題は、モバイル ユーザーがデスクトップ モードでメニュー項目をクリックすると、自動的にモバイル ページにリダイレクトされることです。可能性はクッキーか何かだと思いますか?
<?php
function is_mobiel(){
$regex_match="/(nokia|iphone|android|motorola|^mot\-|softbank|foma|docomo|kddi|up\.browser|up\.link|";
$regex_match.="htc|dopod|blazer|netfront|helio|hosin|huawei|novarra|CoolPad|webos|techfaith|palmsource|";
$regex_match.="blackberry|alcatel|amoi|ktouch|nexian|samsung|^sam\-|s[cg]h|^lge|ericsson|philips|sagem|wellcom|bunjalloo|maui|";
$regex_match.="symbian|smartphone|midp|wap|phone|windows ce|iemobiel|^spice|^bird|^zte\-|longcos|pantech|gionee|^sie\-|portalmmm|";
$regex_match.="jig\s browser|hiptop|^ucweb|^benq|haier|^lct|opera\s*mobi|opera\*mini|320x320|240x320|176x220";
$regex_match.=")/i";
return isset($_SERVER['HTTP_X_WAP_PROFILE']) or isset($_SERVER['HTTP_PROFILE']) or preg_match($regex_match, strtolower($_SERVER['HTTP_USER_AGENT']));
}
switch($_GET['mode'])
{
case 'mobiel':
$mode = "mobiel";
break;
case 'desktop':
$mode = "desktop";
break;
default:
$mode = is_mobiel() ? "mobiel" : "desktop";
break;
}
if ($mode == "mobiel")
{
header ("Location: http://www.domain.nl/mobiel?m");
return;
}
?>