最近一个小站需要进行mip改造,网站是代码适配的网站。就是电脑访问返回电脑端的页面,手机端访问返回手机端的页面。网站的url是相同的。改造后在百度提供的在线验证工具中进行了测试,全部通过测试。然后在站长后台进行了提交。提交后大概等了半个月也没有通过校验,同时也没有错误的提示。

mip改造-通过子目录的形式

最后在百度的mip群里得到这样的回复

因为只有移动UA才返回mip页面,这样比较容易出现问题,我们技术小哥哥建议最直接的解决办法是建立一个专用的页面,无论什么UA访问都返回MIP的页面

这样就知道问题出现在哪里的,同时也知道该怎么修改了。

代码适配mip改造的方法

因为代码适配相同网址的原因导致了失败。所以就要需要对mip页面提供单独的网址即可。常用的有两种方法

1. 子域名的方式,比如 mip.liuhaolin.com

2. 子目录的方式,比如 www.liuhaolin.com/mip/

方法很多,可以通过服务器重写+内容替换实现,也可以通过修改网站的程序实现。因为我改造的网站程序是用的wordpress,直接修改程序也比较简单。这里记录一下操作的步骤。

通过子目录的方式进行修改

改造的结果应该是,每个链接前面都增加一个 /mip, 比如 www.liuhaolin.com/about.html 改造后应该是 www.liuhaolin.com/mip/about.html。同时应该做到返回的页面是 mip类型的页面。

需要解决的第一个问题,网站的链接上增加的 /mip, 网页还是可以正常打开的问题。在模板的 functions.php 中添加

# 记录一下原始的uri, 用于判读这个页面是否是 mip url。

$origin_uri = $_SERVER['REQUEST_URI'];

# worpdress的路由是基于$_SERVER['REQUEST_URI'],这样 url 中的mip/ 就是透明的,不影响正常的执行。

$_SERVER['REQUEST_URI'] = str_replace('mip/', '', $_SERVER['REQUEST_URI']);

# 判断是否是一个mip页面

function is_mip() {

global $origin_uri;

return strpos($origin_uri , 'mip/') === 1;

}

对于详情页的链接改造

如果是 mip 就在链接上加上 /mip

add_filter('post_link', function ($link, $post = 0) {

if(is_mip()) {

$link = str_replace( home_url(), home_url() . '/mip', $link);

}

return $link;

});

对分类的链接的改造

如果是 mip 就在分类的链接上加上 /mip

add_filter('category_link', function ($termlink, $id) {

if(is_mip()) {

$link = str_replace( home_url(), home_url() . '/mip', $termlink);

}

});

其他的具体修改就和具体的代码有关系了,比如网站是如何适配的,就是如何加载不同的模板的。通过 is_mip函数判断一下,如果是mip页面,就加载对应的mip页面。最后处理一下细节,可以 robots.txt 添加禁用禁止抓取目录 /mip/目录。

php页面怎么改造mip,代码适配的网站如何进行mip改造相关推荐

  1. asp.net 页面代码 if_代码适配对百度友好代码详解

    点击上方"seo技术课堂"关注我们 移动端适配的方式有多种形式,比如通过规则适配.响应式.独立移动PC站等方式都可以实现PC移动端适配的效果. 今天详细讲一下本人比较喜欢的适配方式 ...

  2. 如何让一套代码适配所有iOS设备尺寸?

    简介:随着移动互联网设备和技术的发展,各种移动设备屏幕尺寸层出不穷,折叠屏.分屏.悬浮窗等等,面对越来越多样的屏幕,如果为每种尺寸单独进行适配,不仅费时费力,还会增加端侧代码的开发与维护压力.如何让一 ...

  3. ios 代码设置控件宽高比_iOS--利用比例纯代码适配屏幕大小

    首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是和之前iPhone5的类似,比较简单,为iPho ...

  4. iphone6 6p纯代码适配

    新QQ交流群:418536818,之前的群已满 首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是 ...

  5. ios 代码设置控件宽高比_IOS开发入门之iOS一套代码适配所有iPhone手机布局实现方案...

    本文将带你了解IOS开发入门iOS一套代码适配所有iPhone手机布局实现方案,希望本文对大家学IOS有所帮助. iOS一套代码适配所有iPhone手机布局实现方案 本文主要是讲述一套代码适配所有iP ...

  6. iOS一套代码适配所有iPhone手机布局实现方案

    iOS一套代码适配所有iPhone手机布局实现方案 本帖主要是讲述一套代码适配所有iPhone手机布局解决方案.要点是了解原理和思想. 多个项目采用了这种布局方式,感觉良好,实际情况还是要看看你们UI ...

  7. 在ASP.NET中指定出错页面,不让代码外泄!

    在ASP.NET中指定出错页面,不让代码外泄!在ASP.NET中原始的出错页面会暴露部分源代码,由此带来了潜在的安全隐患. ASP.NET允许应用程序出错时显示用户指定的页面,方法是在web.conf ...

  8. .Net有关问题。在GridView中添加了一个HyperLinkField,用来显示显示详细信息,请教跳转后的详细信息页面该怎样写代码

    .Net问题...在GridView中添加了一个HyperLinkField,用来显示显示详细信息,请问跳转后的详细信息页面该怎样写代码 在一个页面的GridView中添加了下面的代码: <as ...

  9. jsp中未登录用户也可以浏览页面的功能实现代码

    jsp中未登录用户也可以浏览页面的功能实现代码 <%!                int count=0;               %>                  < ...

最新文章

  1. 计算机硬件人员专业知识技能,2017年江苏省职业学校技能大赛(计算机硬件)竞赛实施方案...
  2. NOIP2007 树网的核 [BZOJ2282][Sdoi2011]消防
  3. What Influences Method Call Performance in Java?--reference
  4. 使用Qt创建XML文档及XML文档的增删改
  5. CRK计算机,crk_world
  6. 基于Win10极简SonarQube C#代码质量分析
  7. C++ 序列化和反序列化学习
  8. nginx log response_nginx优化配置大全
  9. C# Winform 窗体美化(二、LayeredSkin 界面库)
  10. 众友科技计算机组成原理,组成原理:采用微程序控制器的模型机CPU设计(10页)-原创力文档...
  11. 2010年,您还不“工作流”吗?
  12. 页面报错500是什么意思_解决方案:品牌备案后,上传产品报错5461,A+页面报错...
  13. RTCM3消息类型介绍
  14. spss 安装包以及许可证
  15. 透过 Linux 内核看无锁编程
  16. UESTC_树上战争 CDOJ 32
  17. 支付宝支付后页面跳转
  18. Android5.1浏览器证书问题
  19. 同步电机仿真永磁同步电机 弱磁控制 simulink仿真模型 凸极电机
  20. 您的计算机程序脱机,安捷伦脱机程序打不开,电脑脱机状态打不开

热门文章

  1. 离散采样——Alias Method
  2. Android 开启关闭屏幕固定功能
  3. Spring Boot DTO 验证示例
  4. neutron组网流量发送过程
  5. 暑期后端培训(sql语句及数据库连接)
  6. CAS4.0之环境搭建
  7. 自动填写问卷星 - js
  8. unity修改飞行数据_数据预测和文化,或者我如何在没有飞行汽车的情况下学会生活...
  9. 现代名图仪表盘说明书_名图仪表盘黄色|名图仪表盘黄色相关信息|名图仪表盘黄色相关文章-58同城旗下58汽车...
  10. Android源码——小苏闹钟