2014-04-25 103 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