前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ke.qq.com url重构总结

ke.qq.com url重构总结

作者头像
IMWeb前端团队
发布2019-12-04 12:30:55
4880
发布2019-12-04 12:30:55
举报
文章被收录于专栏:IMWeb前端团队IMWeb前端团队

本文作者:IMWeb 吴浩 原文出处:IMWeb社区 未经同意,禁止转载

一、重构的目的

1.url简化

过长的url不利于传播,比如输入框的字数限制导致分享的url被截断或分享内容无法提交。复制url文本时,短的url也可能使鼠标少拖动一段距离。

2.规范url

http://ke.qq.com/cgi-bin/courseDetail?course_id=36413 类似这个课程详情页的url,包含大、小字母、下划线和中划线。我们希望统一下划线做单词间分隔。

3.结构化,语义化

例如:http://ke.qq.com/tupu/3/course 这个链接表示图谱(学习导图)模块中,3号学习导图囊括的课程列表,这是url的结构。语义化:特性领域的一些词汇,"tupu"(图谱),“course”(课程)。为什么url中有汉语拼音,又有英文单词,那是因为大家觉得这样简洁,比较好懂。若把url中的图谱id“/3/”换成图谱名称"/android/",可能从语义上、搜索结果排名上会更好一些。

4.采用技术无关的url

提供动态内容服务时,像cgi-bin之类的单词不应该出现在url中。

说明:本次url重构主要是对直出页面做的。

二、url重构前、后的对应关系

三、url重构需要做什么?

1.nginx转发规则

(1)索引擎收录了大量旧url,希望搜索引擎能快速地切换到新url,并且将页面的权重传递过去,所以用了301跳转,如下方图1所示。(2015.11.2发布) (2)希望url重构对CGI层透明,由接入层nginx完成新-旧地址的转换工作,如下方图2所示。

2.平台互转

教育的部分重点页面在PC端与移动端有2个不同版本的实现,如果用户使用手机浏览他人分享的PC课程详情页时,我们希望用户看到的是相应H5的课程详情页,反之亦然。处理这种不同平台url的对应关系叫平台互转。

3.url提交

url重构后,出现了一批新地址,我们要将这批新地址及时地提交百度搜索引擎。

代码语言:javascript
复制
//提交百度
$(window).load(function () {
        $.getScript('http://push.zhanzhang.baidu.com/push.js');
});

4.路径上报

目前,用户访问路径上报是通过一份公共的配置管理的。 var KEY_MAP ={ '/cgi-bin/courseDetail': 'H', '/cgi-bin/courseList': 'K', ... }; 比如用户访问课程详情页http://ke.qq.com/cgi-bin/courseDetail?course_id=36413 ,那么在用户访问路径中会新增一个节点"H"与之对应。url变成http://ke.qq.com/course/36413 之后这个映射key也需要微调。

5.其他修改点

  • 后台代码对url的合法性检查
  • 页面内a标签url修改
  • 获取页面参数修改
  • 管理后台运营配置
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-11-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、重构的目的
    • 1.url简化
      • 2.规范url
        • 3.结构化,语义化
          • 4.采用技术无关的url
          • 二、url重构前、后的对应关系
          • 三、url重构需要做什么?
            • 1.nginx转发规则
              • 2.平台互转
                • 3.url提交
                  • 4.路径上报
                    • 5.其他修改点
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档