網站如何根據瀏覽器跳轉實現自適應移動設備

現在越來越多的移動設備出現,為了讓網站更好的適應移動設備,需要針對移動設備匹配專用域名 , 例如m.u22e.com這樣的域名,下面代碼在wordpress源碼實現如下

網站如何根據瀏覽器跳轉實現自適應移動設備

文章插圖
自適應移動設備代碼
/*根據瀏覽器跳轉*/
define ('MOBILE_DOMAIN', 'm.u22e.com');
define ('REAL_DOMAIN', '***');
if ($_SERVER['SERVER_NAME'] == MOBILE_DOMAIN) {
define('WP_HOME' ,'http://' . MOBILE_DOMAIN);
define('WP_SITEURL',WP_HOME);
【網站如何根據瀏覽器跳轉實現自適應移動設備】define('TEMPLATEPATH', ABSPATH .'wp-content/themes/Ripple_mobile/');
define('STYLESHEETPATH', ABSPATH .'wp-content/themes/Ripple_mobile/');
define ('MOBILE_THEME', true);
}elseif(strpos($_SERVER['HTTP_USER_AGENT'],'baidu Transcoder')){ //百度轉碼跳轉
header('Location: '. 'http://' . MOBILE_DOMAIN . $_SERVER["REQUEST_URI"]);
die();
}else{
if (!empty($_GET['m_action'])) {
if ($_GET['m_action'] == 'nomobile') {
setCOOKIE('wordpress_mobile_domain_disable', 1, time()+86400, '/', REAL_DOMAIN, false);
if (!empty($_SERVER['HTTP_REFERER'])) {
$go = str_replace(MOBILE_DOMAIN, REAL_DOMAIN, $_SERVER['HTTP_REFERER']);
header ('location:'.$go);
die();
} else {
header ('location:'.REAL_DOMAIN);
die();
}
}
}
$browsers = array (
'Googlebot-Mobile',
'Opera Mini',
'iPhone',
'BlackBerry',
'iPod',
'Android',
'Bolt',
'IEMobile',
'GoBrowser',
'Skyfire',
'TeaShark',
'UC Browser',
'UCWEB',
'Opera Mobi',
'Mobile Safari',
'SEMC-Browser',
'Teleca',
'Series60',
'Doris',
'2.0 MMP',
'240x320',
'400X240',
'AvantGo',
'Blazer',
'Cellphone',
'Danger',
'DoCoMo',
'Elaine 3.0',
'EudoraWeb',
'hiptop',
'KYOCERA WX310K',
'LG U990',
'MIDP-2.',
'MMEF20',
'MOT-V',
'NetFront',
'Newt',
'Nintendo Wii',
'Nitro',
'Nokia',
'Palm',
'PlayStation Portable',
'ProxiNet',
'SHARP-TQ-GX10',
'SHG-i900',
'Small',
'SonyEricsson',
'Fennec',
'TS21i-10',
'UP.Browser',
'UP.Link',
'Windows CE',
'WinWAP',
'LG-TU915 Obigo',
'LGE VX',
'Iris',
'Maemo Browser',
'MIB',
'Kindle Basic Web',
'Myriad Browser',
'Obigo Browser',
'Polaris Browser',
'uZardWeb',
'WebOS',
'Deepfish',
'Dolphin',
'Firefox Mobile',
'ibisBrowser',
'JOCA',
'Links',
'Minimo',
'Pixo',
'Skweezer',
'Steel',
'Tristit',
'Vision Mobile Browser',
'Dorothy',
'Ovi Browser'
);
foreach($browsers as $browser) {
if (preg_match("/".$browser."/i", $_SERVER['HTTP_USER_AGENT'])) {
if (!isset($_COOKIE['wordpress_mobile_domain_disable'])) {
header ('location:http://' . MOBILE_DOMAIN . $_SERVER['REQUEST_URI']);
die();
}
}
}
}
上面代碼有什么問題 , 歡迎指正,共同學習!