2014-04-25 75 views
0

我根据手机的用户代理与htaccess文件提供视频。到目前为止,它适用于智能手机,但不适用于Motorola Razor V3等非智能手机。有没有办法用php做同样的事情,所以我可以有htaccess和php文件进行备份?这是我的htaccess文件。电话忽略htaccess文件

RewriteCond <is smartphone> 
RewriteRule videos/(.*) mysite.com/videos/high/$1 
RewriteCond <is non-smartphone> 
RewriteRule videos/(.*) mysite.com/videos/low/$1 
+0

祝你好运。有整个库和专用于移动设备检测的数据库。您可能无法在.htaccess规则中高度准确地执行此操作。 –

+0

是的,我知道他们,但这种方式更容易,更简单。我看到仍然需要一些调整。 – herrdragon

回答

1

您可以根据$ _SERVER ['HTTP_USER_AGENT']重定向吗?

<?php 
    if ($_SERVER['HTTP_USER_AGENT'] == 'xyz') { 
     header("Location: mysite.com/videos/high".$_SERVER['QUERY_STRING']);  
    } 
    elseif $_SERVER['HTTP_USER_AGENT'] == 'abc') { 
     header("Location: mysite.com/videos/low".$_SERVER['QUERY_STRING']);    
    } 

    exit; 
?> 

您可能需要使用数组来确定哪些用户代理是智能手机(Android版| webOS的| iPhone | iPod的|黑莓| IEMobile)。

+0

我试过你的代码,但我没有找到404。 $ _SERVER ['QUERY_STRING'])没有得到任何东西。 – herrdragon

0

对于完整的php实现来说,最好的选择就是使用mobile_detect类。这是非常彻底的,并捕捉到目前为止我见过的大多数设备。它甚至支持平板电脑。

https://github.com/serbanghita/Mobile-Detect

+0

嗨。是的,我知道一个,我一直试图让这个工作一段时间,我在github上看到了不同的版本,但他们对智能手机更好,而我的视频是针对非智能手机的。 – herrdragon