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

overme3个月前 (10-17)网页设计306
如下图所示,小编使用站长工具“搜索蜘蛛,机器人模拟抓取”功能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搜索页Logo图片修改方法

Discuz搜索页Logo图片修改方法

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

Discuz数据表数据字段说明教程

pre_common_admincp_cmenu 后台菜单收藏表 字段名 数据类型 默认值 允许非空 自动递增 备注 id smallint(6) unsigned NO 是...


		如何增加Discuz友情链接展示

如何增加Discuz友情链接展示

Discuz论坛站点,设置了友情链接的情况,默认在首页会展示。如果想要增加友情链接展示页面该如何操作呢? 答案:可以通过Discuz DIY的方式,在底部增加模板,模板中展示友情链接静态数据。 1...


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

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

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


		Discuz教程之imagemaxwidth来源和修改

Discuz教程之imagemaxwidth来源和修改

如下图所示,在function_discuzcode.php文件中,有下图所示一段代码。 该代码的功能是当img宽度大于设定图片最大宽度后,宽度将使用最大宽度,高度按比例挑调整 那么你知道这个i...

发表评论

访客

看不清,换一张

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