返回頂部
關閉軟件導航
位置:首頁 > 資訊 > 電商資訊>阿里云cdn做了之后手機站和電腦站無法正常切換的解決方案
阿里云cdn做了之后手機站和電腦站無法正常切換的解決方案

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

可以通過設置Vary頭來區分移動和pc端自適應。

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

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

nginx可以在server里面加上

add_headerVary''Accept-Encoding,User-Agent'';

實現增加Vary:User-Agent這個字段的效果。

所以,我們圍繞這個進行設置:

1.Apache環境網站配置Vary:User-Agent

將以下代碼根據實際情況加入對應網站根目錄的.htaccess文件中,或者加入Apache的主配置文件httpd.conf:

HeaderappendVaryUser-Agent

2.Nginx環境網站配置Vary:User-Agent

將以下代碼添加到對應站點的配置文件中:

add_headerVary"User-Agent";

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

將以下代碼添加到你PHP網站的合適位置,很好是屬于公共文件,例如數據庫配置文件中:

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

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

//WordPress配置Vary:User-Agent

add_filter('wp_headers','add_vary_header');

functionadd_vary_header($headers){

$headers['Vary']='User-Agent';

return$headers;

}

其他PHP程序也可以參照這樣設置。

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

functionis_mobile(){

//判定手機發送的客戶端標志,兼容性有待提高

if(isset($_SERVER['HTTP_USER_AGENT'])){

$userAgent=$_SERVER['HTTP_USER_AGENT'];

if(strpos($userAgent,'iPhone')||strpos($userAgent,'iPad')||strpos($userAgent,'iPod')||strpos($userAgent,'iOS')){

returntrue;

}

if(isset($_SERVER['HTTP_X_WAP_PROFILE'])){

returntrue;

}

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

$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']))){

returntrue;

}

}

//協議法,因為有可能不正確,放到很后判定

if(isset($_SERVER['HTTP_ACCEPT'])){

//假如只支持wml并且不支持html那一定是移動設備

//假如支持wml和html但是wml在html之前則是移動設備

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'))) {

returntrue;

}

}

//假如via信息含有wap則一定是移動設備,部分服務商會屏蔽該信息

if(isset($_SERVER['HTTP_VIA'])){

returnstristr($_SERVER['HTTP_VIA'],'wap')?true:false;

}

returnfalse;

}

切記,網上有關于HTTP_VIA放在很前邊進行判定的程序,實際上是不行的,后來永易搜CMS進行了改良,給VIA放到很后判定,才可以實現。

如果您覺得 阿里云cdn做了之后手機站和電腦站無法正常切換的解決方案 這篇文章對您有用,請分享給您的好友,謝謝
文章地址:http://m.meyanliao.com/article/online/9759.html
解放雙手無盡可能,有問題添加天線貓微信
主站蜘蛛池模板: YW尤物AV无码国产在线观看 | 精品久久久无码21p发布| 国产激情无码视频在线播放性色| 亚洲Av综合色区无码专区桃色| 亚洲AV无码男人的天堂| 夜夜添无码试看一区二区三区| 精品欧洲av无码一区二区14 | 少妇无码AV无码一区| 麻豆亚洲AV永久无码精品久久| 国产精品va无码二区| 久久人妻少妇嫩草AV无码专区| 国产精品无码v在线观看| 亚洲精品无码久久毛片波多野吉衣 | 无码亚洲成a人在线观看| 一本加勒比HEZYO无码资源网| 成人无码嫩草影院| 综合无码一区二区三区四区五区| 综合国产在线观看无码| 国产成人无码av在线播放不卡| 午夜不卡久久精品无码免费| 人妻丰满熟妇aⅴ无码| 精品无码成人网站久久久久久| 综合无码一区二区三区四区五区| 无码无遮挡又大又爽又黄的视频| 亚洲乱亚洲乱妇无码麻豆| 无码人妻AⅤ一区二区三区水密桃 无码欧精品亚洲日韩一区夜夜嗨 无码免费又爽又高潮喷水的视频 无码毛片一区二区三区中文字幕 无码毛片一区二区三区视频免费播放 | 久久亚洲精品无码播放| 亚洲av成人中文无码专区| 亚洲av专区无码观看精品天堂| 国产精品ⅴ无码大片在线看| 亚洲国产精品无码久久SM| 日韩人妻无码一区二区三区综合部| 无码日韩人妻精品久久| 国产丝袜无码一区二区视频 | 亚洲自偷自偷偷色无码中文 | 无码人妻一区二区三区在线 | 久99久无码精品视频免费播放| 国产精品免费看久久久无码| 日韩精品人妻系列无码av东京| 免费无码黄动漫在线观看| 亚洲日韩精品无码专区网站|