在移动版的htaccess中重写规则

时间:2012-03-24 07:03:41

标签: php .htaccess mobile

我正在为我的网站使用codeigniter框架,我已经完成了两个用于通过移动设备访问的网站,另一个用于通过PC访问。两者都在同一个域中。我的网站网址如下http://mydomain.com我的手机是http://mydomain.com/celphone。当我从移动设备访问网站时,我需要编写htaccess规则,该规则重定向到网站网址http://mydomain.com/celphone,当我从网站访问网站时,我需要重写为http://mydomain.com/

在这种情况下如何编写重写规则,请帮助任何帮助。

3 个答案:

答案 0 :(得分:2)

正如scessor所述,用.htaccess无法完成。您需要分析浏览器的用户代理。

在php中查看this移动检测。

用法就像这个

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

答案 1 :(得分:1)

.htaccess没有关于设备的信息,因此无法识别差异。您必须使用源代码执行此操作。(请参阅下面的更新)

E.g。在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>

=== UPDATE ===

阅读this question的答案,了解如何在.htaccess中重定向。

答案 2 :(得分:0)

尝试使用PHP或任何其他服务器端语言,您可以查找用户代理并确定重定向用户的位置。您可能还会找到一个现成的类来为您进行检查。我总是使用它并像魅力http://detectmobilebrowsers.mobi/

一样工作