在做織夢網站開發時,會遇到獲取當前URL并做PHP判斷。比如地區站群PC端的移動適配功能,下面提供PHP通用移動端適配方法。
PC首頁路徑:www.xx.com
移動端首頁路徑:m.xx.com
地區PC首頁路徑:beijing.xx.com
地區移動端首頁路徑:beijing.m.xx.com
這里地區移動端采用三級域名的形式實現,當然也可以用目錄的形式,一些分類信息網站就是采用:
m.xx.com/beijing/
至于地區移動端做目錄還是三級域名哪種方案好,這個只要做好適配,效果是一樣的,影響排名的還是PC端,個人還是傾向三級域名的方案。寫URL重寫也簡單些。
先看下面代碼
<?php //測試網址:http://localhost/blog/testurl.php?id=5 //獲取域名或主機地址 echo $_SERVER['HTTP_HOST']."<br>"; //輸出 localhost //獲取網頁地址 echo $_SERVER['PHP_SELF']."<br>"; //輸出 /blog/testurl.php //獲取網址參數 echo $_SERVER["QUERY_STRING"]."<br>"; //輸出 id=5 //獲取用戶代理 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 //包含端口號的完整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 ?> |
移動端獲取當前URL適配
canonical是聲明權威地址,即以PC的地址參與排名。如做了偽靜態,
PC端文章路徑:www.xx.com/view-1.html
移動端文章路徑:m.xx.com/view-1.html
織夢移動端文章內容頁的適配寫法如下,把下面代碼放在</head>之前
<link rel="canonical" href="{dede:php}$url= str_replace("m.","",$_SERVER['HTTP_HOST']); echo "http://".$url."/view-";{/dede:php}{dede:field.id/}.html"/>