2016-08-08 122 views
1

我想將所有從Opera Mini瀏覽器打開的URL重定向到使用PHP的特定瀏覽器。我有下面的代碼,但它不工作。請幫幫我。用於Opera Mini的瀏覽器的URL重定向

 

if(! empty($_SERVER['HTTP_USER_AGENT'])){ 

    $useragent = $_SERVER['HTTP_USER_AGENT']; 
     if(preg_match('@(Opera Mini)@', $useragent)){ 

      $host = $_SERVER['REQUEST_URI']; 

      if($host !== 'mywebsite.com/browser-error'){ 

       header('Location: ./browser-error'); 
      } 
     } 
} 

+0

什麼' $ host'?你如何得到這個'var'? –

+0

對不起,錯誤的代碼。編輯的一個是否正確? 我試圖添加當前的URL檢查,因爲即使在/瀏覽器錯誤中,這些代碼也會出現在每個頁面中,所以如果它已經在該頁面中,我需要跳過重定向。 –

回答

2

根據dev.opera.comopera mini用戶代理具有以下格式:

的User-Agent:歌劇院/ 9.80($ PLATFORM_NAME $; $ PRODUCT_NAME/$ CLIENT_VERSION/$ SERVER_VERSION $ ; U; $ $ LOCALE) $ PRESTO_VERSION $ $ $ EQUIV_DESKTOP_VERSION

實施例:

User-Agent: Opera/9.80 (Android; Opera Mini/8.0.1807/36.1609; U; en) Presto/2.12.423 Version/12.16 

檢測到它使用:

if (strpos($_SERVER['HTTP_USER_AGENT'], 'Opera Mini') !== false) { 
    echo 'is opera mini'; 
} 
1

您可以使用此PHP代碼來檢查瀏覽器

<? 
if(preg_match('/android.+opera m(ob|in)i/i',$_SERVER['HTTP_USER_AGENT'])) 
header('Location: http://'); 

或者嘗試使用這個PHP庫

http://mobiledetect.net/

+0

我更新了我的答案 – Mostafa