为移动版本重写htaccess中的规则


Rewrite rule in htaccess for mobile version

我的站点使用的是codeigniter框架,我已经做了两个站点,一个通过移动访问,另一个通过PC访问。这两个站点都在同一个域中。我的网址是这样的http://mydomain.com,我的手机是http://mydomain.com/celphone。当我从手机访问网站时,我需要编写重定向到网站url http://mydomain.com/celphone的htaccess规则,当我从电脑访问网站时我需要重写到http://mydomain.com/

在这种情况下,我该如何写重写规则,请帮忙,任何帮助都将不胜感激。

正如scessor所说,.htaccess无法做到这一点为此,您需要分析浏览器的用户代理。

在php中查看此移动检测。

使用和一样简单

if ($detect->isMobile()) {
    header("location: mobile.yourdomain.com");
    exit;
}

.htaccess没有关于设备的信息,因此无法识别差异。你必须用你的源代码来做到这一点(见下面的更新)

例如,在javascript中,分析浏览器userAgent并通过设置window.location:重定向

<script type="text/javascript">// <![CDATA[  
    var mobile = (/iphone|ipad|ipod|android|blackberry|mini|windows'sce|palm/i.test(navigator.userAgent.toLowerCase()));  
    if (mobile) {  
        window.location = "http://www.yoursite.com/mobile.html";  
    }  
// ]]></script>

===更新===

阅读此问题的答案,了解如何在.htaccess中重定向。

尝试使用PHP或任何其他服务器端语言执行此操作,您可以查找用户代理并确定将用户重定向到哪里。你也可以找到一个现成的类来为你做检查。我一直用这个,工作起来很有魅力http://detectmobilebrowsers.mobi/