使用htaccess或其他选项进行移动重定向

时间:2013-07-05 03:15:12

标签: php .htaccess mobile

我有一个使用Expression Engine CMS构建的网站,它已经运行了2年了。我刚刚建立了一个静态移动网站(基于html),我们在主页上添加了一个重定向脚本,工作正常。因此,如果移动用户尝试访问主页,则会将用户正确地重定向到移动网站 - 这里没有问题。

问题是我们在Facebook,谷歌adwords和其他来源使用来自网站的谨慎页面,因此我们需要重定向不仅适用于主页,而且适用于我们驱动用户使用的大约10个其他页面。

EE允许编辑模板页面,并且我已经修改了EE模板,例如关于我们的页面,这些页面是来自单个EE类别的单页,这也很好。但是,对于具有多个谨慎页面的EE类别,我遇到了重定向的问题。在这种情况下,EE模板中只有一个页面可以放置重定向脚本,因此无论实际选择哪个页面,移动设备都将始终重定向到该类别中的同一页面。

我们可以使用htacess重定向以某种方式解决此问题吗?它需要查看被调用的页面并重定向到特定的移动页面?是否有PHP或其他脚本选项来解决此问题。

目标是我们需要将移动设备定向到特定页面,我们只能在EE中的类别级别添加重定向脚本。

感谢。

1 个答案:

答案 0 :(得分:0)

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'
        );

此功能会返回客户端使用操作系统的值(桌面/移动设备),您可以在页面顶部使用此功能并重定向到您为移动设备和副设备制作的特定页面反之亦然。希望这会有所帮助。