php页面怎么改造mip,代码适配的网站如何进行mip改造
最近一个小站需要进行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改造相关推荐
- asp.net 页面代码 if_代码适配对百度友好代码详解
点击上方"seo技术课堂"关注我们 移动端适配的方式有多种形式,比如通过规则适配.响应式.独立移动PC站等方式都可以实现PC移动端适配的效果. 今天详细讲一下本人比较喜欢的适配方式 ...
- 如何让一套代码适配所有iOS设备尺寸?
简介:随着移动互联网设备和技术的发展,各种移动设备屏幕尺寸层出不穷,折叠屏.分屏.悬浮窗等等,面对越来越多样的屏幕,如果为每种尺寸单独进行适配,不仅费时费力,还会增加端侧代码的开发与维护压力.如何让一 ...
- ios 代码设置控件宽高比_iOS--利用比例纯代码适配屏幕大小
首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是和之前iPhone5的类似,比较简单,为iPho ...
- iphone6 6p纯代码适配
新QQ交流群:418536818,之前的群已满 首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是 ...
- ios 代码设置控件宽高比_IOS开发入门之iOS一套代码适配所有iPhone手机布局实现方案...
本文将带你了解IOS开发入门iOS一套代码适配所有iPhone手机布局实现方案,希望本文对大家学IOS有所帮助. iOS一套代码适配所有iPhone手机布局实现方案 本文主要是讲述一套代码适配所有iP ...
- iOS一套代码适配所有iPhone手机布局实现方案
iOS一套代码适配所有iPhone手机布局实现方案 本帖主要是讲述一套代码适配所有iPhone手机布局解决方案.要点是了解原理和思想. 多个项目采用了这种布局方式,感觉良好,实际情况还是要看看你们UI ...
- 在ASP.NET中指定出错页面,不让代码外泄!
在ASP.NET中指定出错页面,不让代码外泄!在ASP.NET中原始的出错页面会暴露部分源代码,由此带来了潜在的安全隐患. ASP.NET允许应用程序出错时显示用户指定的页面,方法是在web.conf ...
- .Net有关问题。在GridView中添加了一个HyperLinkField,用来显示显示详细信息,请教跳转后的详细信息页面该怎样写代码
.Net问题...在GridView中添加了一个HyperLinkField,用来显示显示详细信息,请问跳转后的详细信息页面该怎样写代码 在一个页面的GridView中添加了下面的代码: <as ...
- jsp中未登录用户也可以浏览页面的功能实现代码
jsp中未登录用户也可以浏览页面的功能实现代码 <%! int count=0; %> < ...
最新文章
- 计算机硬件人员专业知识技能,2017年江苏省职业学校技能大赛(计算机硬件)竞赛实施方案...
- NOIP2007 树网的核 [BZOJ2282][Sdoi2011]消防
- What Influences Method Call Performance in Java?--reference
- 使用Qt创建XML文档及XML文档的增删改
- CRK计算机,crk_world
- 基于Win10极简SonarQube C#代码质量分析
- C++ 序列化和反序列化学习
- nginx log response_nginx优化配置大全
- C# Winform 窗体美化(二、LayeredSkin 界面库)
- 众友科技计算机组成原理,组成原理:采用微程序控制器的模型机CPU设计(10页)-原创力文档...
- 2010年,您还不“工作流”吗?
- 页面报错500是什么意思_解决方案:品牌备案后,上传产品报错5461,A+页面报错...
- RTCM3消息类型介绍
- spss 安装包以及许可证
- 透过 Linux 内核看无锁编程
- UESTC_树上战争 CDOJ 32
- 支付宝支付后页面跳转
- Android5.1浏览器证书问题
- 同步电机仿真永磁同步电机 弱磁控制 simulink仿真模型 凸极电机
- 您的计算机程序脱机,安捷伦脱机程序打不开,电脑脱机状态打不开
热门文章
- 离散采样——Alias Method
- Android 开启关闭屏幕固定功能
- Spring Boot DTO 验证示例
- neutron组网流量发送过程
- 暑期后端培训(sql语句及数据库连接)
- CAS4.0之环境搭建
- 自动填写问卷星 - js
- unity修改飞行数据_数据预测和文化,或者我如何在没有飞行汽车的情况下学会生活...
- 现代名图仪表盘说明书_名图仪表盘黄色|名图仪表盘黄色相关信息|名图仪表盘黄色相关文章-58同城旗下58汽车...
- Android源码——小苏闹钟