寫了一個系統提示頁面,對應的WeChat、H5和Web平台,由於有時需要和后端一起升級,這時候需要停應用,這個時候需要兩套nginx配置文件,一套正式應用,一套驗證升級
驗證升級只允許測試的域名指向正式的目錄,原來正式的域名指向升級目錄
於是升級目錄就需要一個提示文件,花了十幾分鍾寫了一個php處理頁面
<?php /** * User: szliugx@gmail.com * Date: 2016/11/4 * Time: 15:51 */ $urlPre = $_SERVER['HTTP_HOST'];//獲取當前域名 $weChatUrl = $urlPre."/wechat.html"; $mobileUrl = $urlPre."/mobile.html"; $pcUrl = $urlPre."/pc.html"; if (isset($_SERVER['HTTP_REQUEST_TYPE']) && $_SERVER['HTTP_REQUEST_TYPE'] == "ajax"){ //ajax提交 return json_encode(['status'=>0,'msg'=>'系統升級中,敬請期待......']); }else{ //非ajax提交 if(is_mobile()){ //手機訪問 $user_agent = $_SERVER['HTTP_USER_AGENT']; if (strpos($user_agent, 'MicroMessenger') === false) { // 非微信 $content = curlGet($mobileUrl); } else { // 微信瀏覽器,允許訪問 $content = curlGet($weChatUrl); } }else{ //非手機訪問 $content = curlGet($pcUrl); } echo $content; } //判斷是否是手機 function is_mobile() { $agent = strtolower($_SERVER['HTTP_USER_AGENT']); $is_pc = (strpos($agent, 'windows nt')) ? true : false; $is_mac = (strpos($agent, 'mac os')) ? true : false; $is_iphone = (strpos($agent, 'iphone')) ? true : false; $is_android = (strpos($agent, 'android')) ? true : false; $is_ipad = (strpos($agent, 'ipad')) ? true : false; if($is_pc){ return false; } if($is_mac){ return true; } if($is_iphone){ return true; } if($is_android){ return true; } if($is_ipad){ return true; } } function curlGet($url) { $ch = curl_init($url); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 30); curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($ch, CURLOPT_HEADER, false); $output = curl_exec($ch);//輸出內容 curl_close($ch); return $output; }
效果圖如下