我有一个用Expression Engine CMS构建的网站,它已经运行了两年了。我刚刚建立了一个静态移动网站(基于html),我们在主页上添加了一个重定向脚本,它也很好用。因此,如果移动用户试图访问主页,用户会被正确地重定向到移动网站——这里没有问题。
问题是,我们在脸书、谷歌广告词和其他来源中使用该网站的谨慎页面,因此我们需要重定向,不仅适用于主页,还适用于我们驱使用户访问的大约10个其他页面。
EE允许编辑模板页面,我已经修改了像我们这样的页面的EE模板,这些页面是来自单个EE类别的单个页面,这也很好。但我遇到了重定向的问题,在EE类别有多个谨慎页面的情况下。在这种情况下,EE模板中只有一个页面可以放置重定向脚本,因此无论实际选择了哪个页面,移动设备都将始终重定向到该类别中的同一页面。
我们可以使用htaccess重定向以某种方式解决这个问题吗?它需要查看被调用的页面并重定向到特定的移动页面?是否有php或其他脚本选项来解决此问题。
目标是,在我们只能在EE中添加类别级别的重定向脚本的情况下,我们需要将移动设备定向到特定页面。
谢谢。
function getClientOS()
{
$user_agent = $_SERVER['HTTP_USER_AGENT'];
$os_platform = "Unknown OS Platform";
$os_array = array (
'/windows nt 6.2/i' => 'Windows 8',
'/windows nt 6.1/i' => 'Windows 7',
'/windows nt 6.0/i' => 'Windows Vista',
'/windows nt 5.2/i' => 'Windows Server 2003/XP x64',
'/windows nt 5.1/i' => 'Windows XP',
'/windows xp/i' => 'Windows XP',
'/windows nt 5.0/i' => 'Windows 2000',
'/windows me/i' => 'Windows ME',
'/win98/i' => 'Windows 98',
'/win95/i' => 'Windows 95',
'/win16/i' => 'Windows 3.11',
'/macintosh|mac os x/i' => 'Mac OS X',
'/mac_powerpc/i' => 'Mac OS 9',
'/linux/i' => 'Linux',
'/ubuntu/i' => 'Ubuntu',
'/iphone/i' => 'iPhone',
'/ipod/i' => 'iPod',
'/ipad/i' => 'iPad',
'/android/i' => 'Android',
'/blackberry/i' => 'BlackBerry',
'/webos/i' => 'Mobile'
);
此功能将向您返回客户端正在使用的操作系统的值(桌面/移动),您可以在页面顶部使用此功能,并重定向到您为移动设备创建的特定页面,反之亦然。希望这能有所帮助。