搜索引擎抓取Discuz手机版URL获取PC端内容

overme2个月前 (10-17)网页设计229
如下图所示,小编使用站长工具“搜索蜘蛛,机器人模拟抓取”功能http://stool.chinaz.com/tools/robot.aspx,模拟抓取discuz手机版网页内容。但是,抓取的结果显示为PC端样式。

这是怎么回事呢?
可以通过HTTP状态监测工具https://www.dute.org/httpstatus,了解发生的原因

进入状态监测工具后,输入手机版网页URL地址,点击检查http状态,即可得出下方结果。

原来是URL请求发生了跳转,从手机端页面地址,跳转到了PC端URL地址,导致模拟抓取的内容显示为PC端的。

发生过程分析,Discuz系统中有个checkmobile()函数。虽然使用的手机端二级域名,但是discuz系统判断浏览器客户端不是mobile时,就执行了跳转PC端模板的操作。
点击查看 Discuz教程之如何判断手机端访问

那该如何解决呢?

小编在网上整理了一些资料  Discuz教程之使用电脑访问discuz手机版或触屏版

步骤一:
手机模板中引入了common.js文件,开头的那两行代码,罪魁祸首就是这个ontouchend,这个是只有手机才会有的事件,pc浏览器怎么也是不存在的,因此就永久跳到了标准版去了。

找到如下代码

var supporttouch = “ontouchend” in document;
!supporttouch && (window.location.href = ‘forum.php?mobile=1’);

注释掉两行代码,这样下PC端运行手机版模板时就不会检测跳转去标准版了!

步骤二:
方法一:强制将浏览器判定为移动类型(不推荐)
具体方法: 进入Checkmobile函数后,立即返回return true; 该方法将所有的访问都强制定义为了移动端,这样在PC端使用PC端链接访问内容时,也会跳转到手机版模板,这样效果不好,小编不推荐。
function checkmobile() {
        global $_G;
        return true;

方法二:
PC端使用PC端链接访问时,仍然会输出电脑端模板样式和内容;在手机端访问PC链接时,也会跳转到手机端模板内容。
PC端使用m二级域名访问时,则会显示手机端模板样式和内容。 使用手机端访问链接时,当然显示的仍然是手机端内容。

实现方法如下:

游客,如果您要查看本帖隐藏内容请回复

以上就是使用PC浏览器访问Discuz手机版内容的实现方法,也是琢磨了小半天的成果。

相关文章


		如何在DISCUZ发帖页添加自定义字段

如何在DISCUZ发帖页添加自定义字段

使用DISCUZ系统仿站时,发帖时如果要新增一些参数,怎么样才能实现这样的效果呢? 下面我爱自学网分享在网络上收集到的发帖内页添加字段的方法,供参考。 第一步:使用管理员用户名密码登录DISCUZ...


		手机访问Discuz链接时自动跳转到手机域名

手机访问Discuz链接时自动跳转到手机域名

replyreload += ',' + 619;使用Discuz建设的站点,开启了手机版后,使用手机浏览器访问PC端链接时,虽然呈现的内容时手机版的,但是链接仍然是PC端的,不便于用户识别,也利...


		Discuz搜索页Logo图片修改方法

Discuz搜索页Logo图片修改方法

Discuz建设的网站Search.php即搜索首页,显示样式如下,顶部中间居中位置有一个网站Logo. 如果要修改这个Logo该怎么操作呢! 方法很简单,可以将鼠标移动到图片上方,邮件选择“...


		Discuz判断搜索引擎蜘蛛访问教程

Discuz判断搜索引擎蜘蛛访问教程

Discuz系统中原生集中了判断搜索引擎蜘蛛爬虫访问的函数checkrobot(),方法定义在文件:\source\function\function_core.php checkrobot(...


		Discuz搜索框右侧热搜词设置和调用

Discuz搜索框右侧热搜词设置和调用

如下图红框所示,Discuz默认搜索框右侧有展示热搜词。那么这些词汇显示的来源是哪里,模板中又该如何调用呢? 1、Discuz热搜词,来自后台设置 登陆Discuz后台,点击全局,左侧菜单找到“...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。