nginx 根據get參數重定向(根據電視訪問的mac地址傳遞的值,來重定向訪問別的url地址,這樣就能夠進行單臺的測試環境。。)

背景是這樣的:php

  公司要作全部客戶端的遷移到別的雲平臺,但又擔憂會有問題,因此考慮分批次遷移過去,這樣就須要遷移部分用戶,由於客戶端刷但都是統一但rom包,不能輕易發生改動,因此決定用重定向方式將部分客戶遷移到新平臺。域名大概是:http://xxxxxxxx.com/GetDomain.txt?mac=c80e77787878nginx

 

由於以前寫死了請求一個靜態到txt文檔,(當初沒考慮到分批次切換)因此我須要從請求到這個文件來下手,首先給他分配到咱們到程序裏~code

location /GetDomain.txt {
                  if ($uri = /GetDomain.txt){
              rewrite ^  http://39.x.14.x/hotel/GetDomain.php;
}
             }  

#首先在nginx.conf文件中配置訪問來自GetDomain.txt文件的都重定向到我到php文件         

 

接下來就好操做了,能夠利用php來分配,建議使用第一種方式效率要高不少,第二種是備選。blog

第一種方式:文檔

<?php
$fp = strpos(file_get_contents("/innfotech/www/mac.txt"),$_GET['mac']);
if($fp !== false){
  echo "a域名";
}else{
  echo"b域名";
?>

 

第二種方式:get

<?php$mac = $_GET['mac']
$command = "grep -w $mac /innfotech/www/mac.txt";
$search_mac = exec($command);
if($fp}{
echo "a域名";
}else{
echo "b域名";
}
?>
相關文章
相關標籤/搜索