女自慰喷水免费观看www久久,亚洲国产婷婷六月丁香,欧美 另类 国产 第一页,亚洲精品一区国产精品

野狼SEO團隊,純白帽SEO倡導(dǎo)者!19年專注網(wǎng)站優(yōu)化服務(wù),支持月付!? [點擊查看公司宣傳冊]
專注純白帽、整站正規(guī)優(yōu)化
讓你排名上升,流量暴漲!
網(wǎng)站優(yōu)化服務(wù)電話
0371-56789-390
詳細(xì)內(nèi)容
當(dāng)前位置:首頁 > 技術(shù)資料 > 服務(wù)器技術(shù) > 詳情

阿里云cdn做了之后手機站和電腦站無法正常切換的解決方案

發(fā)布時間:2026-08-05 來源:本站原創(chuàng) 作者:野狼SEO團隊 閱讀:2434

網(wǎng)上有非常多的解決方法,其中阿里云官方的方法是增加 Vary:User-Agent來讓CDN進行區(qū)分緩存:


可以通過設(shè)置Vary頭來區(qū)分移動和pc端自適應(yīng)。

cdn可以根據(jù)vary頭信息來判斷是否緩存相同的url帶有不同的頭信息的請求。

所以可以在源站返回的請求頭上加上Vary:User-Agent這個字段,cdn就會對攜帶不同User-Agent做不同的緩存的。達到User-Agent這個頭信息能到達源站。

nginx可以在server里面加上

add_header Vary ''Accept-Encoding, User-Agent'';

實現(xiàn)增加Vary:User-Agent這個字段的效果。


所以,我們圍繞這個進行設(shè)置:

第一步:設(shè)置服務(wù)器,讓服務(wù)器支持Vary:

1. Apache 環(huán)境網(wǎng)站配置 Vary:User-Agent

將以下代碼根據(jù)實際情況加入對應(yīng)網(wǎng)站根目錄的.htaccess 文件中,或者加入 Apache 的主配置文件 httpd.conf:

Header append Vary User-Agent

2. Nginx 環(huán)境網(wǎng)站配置 Vary:User-Agent

將以下代碼添加到對應(yīng)站點的配置文件中:

add_header Vary "User-Agent";

3. PHP 站點配置 Vary:User-Agent

將以下代碼添加到你 PHP 網(wǎng)站的合適位置,最好是屬于公共文件,例如數(shù)據(jù)庫配置文件中:

<?php header("Vary: User-Agent"); ?>

4. WordPress 站點配置 Vary:User-Agent

將以下代碼添加到當(dāng)前 WordPress 主題的 functions.php 文件中:

// WordPress 配置 Vary:User-Agent
add_filter('wp_headers', 'add_vary_header');
function add_vary_header($headers) {
    $headers['Vary'] = 'User-Agent';
    return $headers;
}

其他PHP程序也可以參照這樣設(shè)置。

第二步:改造網(wǎng)站程序,讓網(wǎng)南站程序能夠響應(yīng)不同的User-Agent

我們以PHP程序為例(這是永易搜CMS中的判斷手機電腦的代碼):

/**
* 判斷用戶是否為移動用戶,可以判斷iphone,Android,Windows Mobile和一般的手機系統(tǒng)
* @return boolean
*/
function is_mobile(){
  //判斷手機發(fā)送的客戶端標(biāo)志,兼容性有待提高
   if(isset($_SERVER['HTTP_USER_AGENT'])){ 
    $userAgent = $_SERVER['HTTP_USER_AGENT'];
    if (strpos($userAgent,'iPhone')||strpos($userAgent,'iPad')||strpos($userAgent,'iPod')||strpos($userAgent,'iOS')){
      return true;
    }
   if (isset($_SERVER['HTTP_X_WAP_PROFILE'])){
      return true;
   }
   $clientkeywords=array('nokia','sony','ericsson','mot','samsung','htc','sgh','lg','sharp','sie-','philips','panasonic','alcatel','lenovo','iphone','ipod','blackberry','meizu','android','netfront','symbian','ucweb','windowsce','palm','operamini','operamobi','openwave','nexusone','cldc','midp','wap','mobile');
      if (preg_match('/(' . implode('|', $clientkeywords) . ')/i', strtolower($_SERVER['HTTP_USER_AGENT']))){
         return true;
      }
   }
  //協(xié)議法,因為有可能不準(zhǔn)確,放到最后判斷
   if (isset($_SERVER['HTTP_ACCEPT'])) {
     // 如果只支持wml并且不支持html那一定是移動設(shè)備
     // 如果支持wml和html但是wml在html之前則是移動設(shè)備
     if (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html'))) {
       return true;
     }
      }

  //如果via信息含有wap則一定是移動設(shè)備,部分服務(wù)商會屏蔽該信息
  if(isset($_SERVER['HTTP_VIA'])){
    return stristr($_SERVER['HTTP_VIA'],'wap')?true:false;
  }
    return false;
}

切記,網(wǎng)上有關(guān)于HTTP_VIA放在最前邊進行判斷的程序,實際上是不行的,后來永易搜CMS進行了改良,給VIA放到最后判斷,才可以實現(xiàn)。

本文作者:野狼SEO團隊

十六年網(wǎng)站建設(shè)相關(guān)經(jīng)驗
一站式為您提供網(wǎng)站相關(guān)服務(wù)

歡迎掃碼咨詢

訪客頭像訪 客137.1***
新評論

還沒有人評論,快來搶個沙發(fā)!