让网站在不同于域名下出现不一样的网站模板,这样就能实现电脑站域名和手机站域名访问网站的时候展现出不同的页面来。

我们这里我们以smarty引擎为例,贴出判断不同域名显示不同模板的代码思路:

(1)建立两套模板,例如电脑的是yelangseo,手机的就设置成yelangseo_m,然后里边的模板命名也要完全一致。

(2)用以下代码来区分域名并且切换到不同的模板目录中。

$web_pc="www.390seo.com";

$web_m="m.390seo.com";

$host=$_SERVER['HTTP_HOST'];

if($host==$web_m){

$TEMPLATES_DIR=$TEMPLATES_DIR.'_m';

}

(3)不同的浏览设备访问时进行跳转。比如电脑访问手机站域名时要跳转,手机访问电脑站域名时要跳转。我们这里只做了首页跳转,如果需要内页也跳转,可以根据这个来拓展。

if($yys->isMobile()&&($host!=$web_m)){

Header("Location:http://".$web_m.'/');

exit();

}elseif((!$yys->isMobile())&&($host==$web_m)){

Header("Location:http://".$web_pc.'/');

exit();

}

其中,$yys->isMobile()来源自以下类函数:

function isMobile()

{

// 判断 iphone 和 ipad

$userAgent = $_SERVER['HTTP_USER_AGENT'];

if (strpos($userAgent, 'iPhone') || strpos($userAgent, 'iPad') || strpos($userAgent, 'iPod') || strpos($userAgent, 'iOS')) {

return true;

}

// 如果有HTTP_X_WAP_PROFILE则一定是移动设备

if (isset($_SERVER['HTTP_X_WAP_PROFILE'])) {

return true;

}

//如果via信息含有wap则一定是移动设备,部分服务商会屏蔽该信息

if (isset($_SERVER['HTTP_VIA'])) {

//找不到为flase,否则为true

return stristr($_SERVER['HTTP_VIA'], 'wap') ? true : false;

}

//判断手机发送的客户端标志,兼容性有待提高

if (isset($_SERVER['HTTP_USER_AGENT'])) {

$clientkeywords = array('nokia', 'sony', 'ericsson', 'mot', 'samsung', 'htc', 'sgh', 'lg', 'sharp', 'sie-', 'philips', 'panasonic', 'alcatel', 'lenovo', 'iphone', 'ipod', 'blackberry', 'meizu', 'android', 'netfront', 'symbian', 'ucweb', 'windowsce', 'palm', 'operamini', 'operamobi', 'openwave', 'nexusone', 'cldc', 'midp', 'wap', 'mobile');

// 从HTTP_USER_AGENT中查找手机浏览器的关键字

if (preg_match('/(' . implode('|', $clientkeywords) . ')/i', strtolower($_SERVER['HTTP_USER_AGENT']))) {

return true;

}

}

//协议法,因为有可能不准确,放到最后判断

if (isset($_SERVER['HTTP_ACCEPT'])) {

// 如果只支持wml并且不支持html那一定是移动设备

// 如果支持wml和html但是wml在html之前则是移动设备

if (strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') !== false && (strpos($_SERVER['HTTP_ACCEPT'], 'text/html') === false || strpos($_SERVER['HTTP_ACCEPT'], 'vnd.wap.wml') < strpos($_SERVER['HTTP_ACCEPT'], 'text/html'))) {

return true;

}

}

return false;

}

域名后缀php做跳转首页,手机移动端网站和电脑PC端网站域名使用与跳转PHP代码...相关推荐

  1. 手机端适应_手机网站开发制作和电脑pc端有哪些区别

    现在移动互联网的发展,现在很多企业做网站开发不仅是电脑端的网站,还包括了移动端网站的开发,移动端网站开发和pc端是有一定的区别,比如移动端的页面更小,移动端的打开和加载速度都远低于电脑端访问网站,其实 ...

  2. html自动跳转手机端,用JavaScript实现网站自动跳转电脑PC端与手机端不同页面

    前天,有一个网友希望在其微擎系统跳转的时候实现鉴别用户不同的客户端,比如电脑PC端和手机端,实现不同的页面跳转.对于之前老蒋有给其设置过PC端网站然后检测手机访问的时候跳转到WAP网站的案例,对于这个 ...

  3. amtemu v0.9.2怎么用_怎么样用手机玩暗黑2(电脑PC游戏)

    其实用手机玩电脑(PC端)游戏不是最近才发展起来的而是早就可以.只是以前手机的性能不强,内存小.制约了手机玩电脑(PC端)的发展.而且以前用手机玩游戏的设置方面还是相对比较复杂的,把一些小白(动手能力 ...

  4. 如何将航拍或卫星影像导入手机奥维地图(或PC端)

    前期我们分享了许多的奥维图源 那经常有小伙伴 咨询 如何将自己的航拍或者卫星影像 导入手机奥维(或PC端奥维) 我们今天通过视频的方式 给大家说个明白哦!!! 我们就视频教学吧 如何将航拍或卫星影像导 ...

  5. 自动适配跳转电脑PC端和手机WAP端

    //首先获取浏览器所在系统平台对象 let sUserAgent = navigator.userAgent.toLowerCase();//用正则滤出平台名称,如符合以下条件则跳转移动端,并作跳转 ...

  6. 手机chrome浏览器真机调试PC端本地的项目

    1.本次实验环境 操作系统: win10 10.0.19042 chrome浏览器PC端: 97.0.4692.99(正式版本) (64 位) 手机操作系统:Android 10; MIX 2S Bu ...

  7. 锤子手机咋用计算机,罗永浩证实:锤子手机的这些功能将移植PC端

    IT之家9月4日消息 锤子手机之所以受到了相当一部分的锤粉们的追捧,除了"工匠精神"的外观设计以外,还离不开其系统UI内置的特色功能,比如备受好评的大爆炸(BigBang)&quo ...

  8. 手机访问网站自动跳转到手机版

    方法一: 目前很多网站已经出现了手机版的网站,手机网站是和互联网上的网站同步更新的,大多数人访问我们的网站是直接访问电脑上的域名,不可能为了手机网站重新记住一个域名,大家都知道,中国人都是比较懒的,那 ...

  9. windows 2003 活动目录的更改域名后缀技巧

    又是作为企业的管理员有许多问题需要解决,通常有这种情况:一个企业的域名后缀由于变更公司名称,导致内部的与环境的域名后缀域公司的名称不相符合,需要 更改,麻烦就来了,更改域名后缀有一定的危险性,万一失败 ...

最新文章

  1. 学python的好处-学习python有什么好处?python强大之处在哪?
  2. linux wifi关闭5g,TP-Link路由器如何关闭5G无线Wi-Fi信号?
  3. 原来 Matplotlib 绘图也可以这么漂亮,这次真的是学习到了!
  4. 中石油训练赛 - Incremental Induction(贪心)
  5. mybatis简单案例源码详细【注释全面】——Utils层(MybatisUtils.java)
  6. Openssl 嵌入式arm移植笔记
  7. 【BZOJ-2888】资源运输 LCT + 启发式合并
  8. 拓端tecdat|Python用稀疏、高斯随机投影和主成分分析PCA对MNIST手写数字数据进行降维可视化
  9. MATLAB 2017a 中文破解版安装教程
  10. halcon 深度学习标注_halcon深度学习: 分类
  11. 五、文章详情页制作及跳转功能实现《iVX低代码/无代码个人博客制作》
  12. python ks值计算_风控模型中的K-S理解以及python实现
  13. quartus频率计 时钟设置_基于QuartusII的两种数字频率计的设计与比较
  14. 慢内容广告:品牌增长的长线主义
  15. linux 统计字数 行数
  16. 七牛云 vue 图片上传简单解说,js 上传文件图片
  17. mdadm彻底删除software RAID
  18. 成都计算机王牌专业专科学校,成都有哪些职业学校?怎么样?
  19. C#开发技术 计算器(二进制、八进制、十进制)
  20. 设计模式之—— 桥接模式 Bridge

热门文章

  1. 项目实践精解:ASP.NET应用开发
  2. Vim - 容易忘记但又比较常用的操作 (之一)
  3. 解决webpack打包bootstrap报字体不能解析问题
  4. vss error reading from file 解决方法
  5. #2006 - MySQL server has gone away 问题解决方法 (全) (转)
  6. IntelliJ IDEA2018配置SVN及常见问题解决
  7. Docker系列5--一些问题及解决
  8. 如何编写Python模块/包?
  9. Bash脚本获取自身完整路径的可靠方法
  10. 如何在PHP中保护数据库密码?