在做WEB開(kāi)發(fā)時(shí),會(huì)遇到獲取當(dāng)前URL并做PHP判斷。比如地區(qū)站群PC端的移動(dòng)適配功能,下面提供PHP通用移動(dòng)端適配方法。
PC首頁(yè)路徑:www.xx.com 移動(dòng)端首頁(yè)路徑:m.xx.com 地區(qū)PC首頁(yè)路徑:beijing.xx.com 地區(qū)移動(dòng)端首頁(yè)路徑:beijing.m.xx.com
這里地區(qū)移動(dòng)端采用三級(jí)域名的形式實(shí)現(xiàn),當(dāng)然也可以用目錄的形式,一些分類(lèi)信息網(wǎng)站就是采用:
m.xx.com/beijing/
至于地區(qū)移動(dòng)端做目錄還是三級(jí)域名哪種方案好,這個(gè)只要做好適配,效果是一樣的,影響排名的還是PC端,個(gè)人還是傾向三級(jí)域名的方案。寫(xiě)URL重寫(xiě)也簡(jiǎn)單些。
先看下面代碼
<?php //測(cè)試網(wǎng)址:http://localhost/blog/testurl.php?id=5 //獲取域名或主機(jī)地址 echo $_SERVER['HTTP_HOST']."<br>"; //輸出 localhost //獲取網(wǎng)頁(yè)地址 echo $_SERVER['PHP_SELF']."<br>"; //輸出 /blog/testurl.php //獲取網(wǎng)址參數(shù) echo $_SERVER["QUERY_STRING"]."<br>"; //輸出 id=5 //獲取用戶(hù)代理 echo $_SERVER['HTTP_REFERER']."<br>"; //獲取完整的url echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']; echo 'http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'].'?'.$_SERVER['QUERY_STRING']; //輸出 http://localhost/blog/testurl.php?id=5 //包含端口號(hào)的完整url echo 'http://'.$_SERVER['SERVER_NAME'].':'.$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; //輸出 http://localhost:80/blog/testurl.php?id=5 //只取路徑 $url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"]; echo dirname($url); //輸出 http://localhost/blog/testurl.php?id=5 ?>
移動(dòng)端獲取當(dāng)前URL適配
canonical是聲明權(quán)威地址,即以PC的地址參與排名。如做了偽靜態(tài),
PC端文章路徑:www.xx.com/view-1.html 移動(dòng)端文章路徑:m.xx.com/view-1.html
移動(dòng)端文章內(nèi)容頁(yè)的適配寫(xiě)法如下,把下面代碼放在</head>之前
<link rel="canonical" href="{dede:php}$url= str_replace("m.","",$_SERVER['HTTP_HOST']); echo "http://".$url."/view-";{/dede:php}{dede:field.id/}.html"/>
地區(qū)(移動(dòng)端三級(jí)域名)也適用。
地區(qū)PC段文章路徑:beijing.xx.com/view-1.html 地區(qū)移動(dòng)端文章路徑:beijing.m.xx.com/view-1.html