在做织梦网站开发时,会遇到获取当前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>"; //获取完整的urlecho '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//包含端口号的完整urlecho '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"/>