發(fā)布時間:2022-02-15
欄目:電商資訊
網(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_headerVary''Accept-Encoding,User-Agent'';
實現(xiàn)增加Vary:User-Agent這個字段的效果。
所以溝通協調,我們圍繞這個進行設(shè)置:
1.Apache環(huán)境網(wǎng)站配置Vary:User-Agent
將以下代碼根據(jù)實際情況加入對應(yīng)網(wǎng)站根目錄的.htaccess文件中要素配置改革,或者加入Apache的主配置文件httpd.conf:
HeaderappendVaryUser-Agent
2.Nginx環(huán)境網(wǎng)站配置Vary:User-Agent
將以下代碼添加到對應(yīng)站點的配置文件中:
add_headerVary"User-Agent";
3.PHP站點配置Vary:User-Agent
將以下代碼添加到你PHP網(wǎng)站的合適位置體系,很好是屬于公共文件保障性,例如數(shù)據(jù)庫配置文件中:
4.WordPress站點配置Vary:User-Agent
將以下代碼添加到當(dāng)前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程序也可以參照這樣設(shè)置。
我們以PHP程序為例(這是永易搜CMS中的判定手機電腦的代碼):
functionis_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')){
returntrue;
}
if(isset($_SERVER['HTTP_X_WAP_PROFILE'])){
returntrue;
}

$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;
}
}
//協(xié)議法責任製,因為有可能不正確十分落實,放到很后判定
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'))) {
returntrue;
}
}
//假如via信息含有wap則一定是移動設(shè)備,部分服務(wù)商會屏蔽該信息
if(isset($_SERVER['HTTP_VIA'])){
returnstristr($_SERVER['HTTP_VIA'],'wap')?true:false;
}
returnfalse;
}
切記,網(wǎng)上有關(guān)于HTTP_VIA放在很前邊進行判定的程序規則製定,實際上是不行的製造業,后來永易搜CMS進行了改良,給VIA放到很后判定關規定,才可以實現(xiàn)發展基礎。
文章地址:http://61py.com/article/online/9759.html

- 1互聯(lián)網(wǎng)對傳統(tǒng)企業(yè)的沖擊有多大
- 2美團再因不正當(dāng)競爭敗訴新反法互聯(lián)網(wǎng)專條首次適用外賣領(lǐng)域!
- 32021互聯(lián)網(wǎng)十件大事對不起賈躍亭你只能排第四
- 4互聯(lián)網(wǎng)宣傳做的就是用戶體驗
- 5互聯(lián)網(wǎng)創(chuàng)業(yè)到底需要怎樣的能力
- 6適合上班族的25個副業(yè)(適合上班族的互聯(lián)網(wǎng)副業(yè))
- 7互聯(lián)網(wǎng)的世界沒有永遠的敵人只有永遠的利益
- 8押唄進駐天線貓助力互聯(lián)網(wǎng)數(shù)碼產(chǎn)品寄存行業(yè)經(jīng)濟持續(xù)發(fā)展
- 9互聯(lián)網(wǎng)公司如何做好品牌定位
- 102021年互聯(lián)網(wǎng)金融發(fā)展回顧冬去春欲來改弦當(dāng)更張