分享

网站改版301重定向怎么做?网站改版301的做法及注意事项

 航空百科 2015-11-08
网站改版301重定向怎么做

网站改版301重定向怎么做


网站改版301重定向怎么做?


今天cnkjun为什么要写这篇网站改版301重定向怎么做的文章呢,昨天写了一篇关于利用rewrite规则实现批量301的方法,这方法是可行了,但是自己低估了已上线且具备众多目录结构、网页的网站。301实现很简单,但是最简化、最完善的规则写起来也需要大量的总结分析才行,贸然的写条语句可能会产生很多始料不及的后果。


下面就来跟大家分享下自己网站改版编写跳转规则是遇到的问题,并总结的网站改版301注意事项。


1、网站改版301重定向的方法(即通过rewrite规则实现301重定向的方法):


网站目录结构改变301重定向的做法


形式一:仅精简一级目录


eg.  原url:http://www./aviation/aviation_news/20151104_1193.html


新url:http://www./aviation_news/20151104_1193.html


看出区别了么?就是精简了一级目录aviation/。这是我最初的优化想法,如何实现在这篇文章:http://www./150.html 已经做了介绍,不过是通过IIS实现的,如果利用rewritrule规则该如何写呢?思路是这样的,找到这两型URL各自的提点和共同点(我给标记成了一样的颜色格式):



  • 除了省去一级目录,其他的结构都相同;

  • 这一类文章的url之后后面的文章名称(20151104_1193.html)有差别。


好了,那么这就好办了,只要将文章名称的规则给出就行啦,文章格式为:数字_数字.html 的形式,用正则表达式表示为:\d+_\d+.html


这样,目录结构改变的301规则就是:


RewriteRule ^aviation/aviation_news/(\d+)_(\d+).html$ http://www./aviation_news/$1_$2.html [R=301,NC]


好了,仅精简一级目录的301就完成了。


形式二:精简一级目录和文章名称


eg.  原url:http://www./aviation/aviation_news/20151104_1193.html


新url:http://www./aviation_news/1193.html


这两个url的区别是比情况一多了一项:将文章页名称中的年月日也简化。原来文章页名称的正则表达式为:\d+_\d+.html  改为:\d+.html ,那么规则就相应的改为:


RewriteRule ^aviation/aviation_news/(\d+)_(\d+).html$ http://www./aviation_news/$2.html [R=301,NC]


形式三:分页的跳转


通过上述的规则可以完成目录即文章名称的精简和跳转。完成之后cnkjun认为可以直接改为整站的规则了,这样就不用按目录逐一更改了:


RewriteRule ^(.*)/(.*)/(\d+)_(\d+).html$ http://www./$2/$4.html [R=301,NC]


经测试,该规则可以实现上述提到的全站的url跳转(url结构形式相同的页面),不过在深入测试时发现,由于忽视了文章的分页,导致很多分页直接跳404:


eg.  内容页:http://www./military_aircraft/fighter_aircraft/20150516_950.html,它还有众多的分页:


http://www./military_aircraft/fighter_aircraft/20150516_950_2.html


http://www./military_aircraft/fighter_aircraft/20150516_950_3.html


http://www./military_aircraft/fighter_aircraft/20150516_950_4.html


http://www./military_aircraft/fighter_aircraft/20150516_950_5.html


http://www./military_aircraft/fighter_aircraft/20150516_950_6.html


http://www./military_aircraft/fighter_aircraft/20150516_950_7.html


如果运用了上述301跳转规则后,分页将无法实现跳转,因为规则中根本没有提到他们。很庆幸及时发现了这个问题,不然肯定会影响cnkjun站点的收录和权重的。为了解决这个问题,就需要再加一条规则:


RewriteRule ^(.*)/(.*)/(\d+)_(\d+).html$ http://www./$2/$4.html [R=301,NC]


RewriteRule ^(.*)/(.*)/(\d+)_(\d+)_(\d+).html$ http://www./$2/$4_$5.html [R=301,NC]


经再次反复测试,OK了,所有页面都完美跳转啦!不过这里还是给各位留个小坑,上述规则有些瑕疵的地方,有可能(我是说可能!)会导致跳转错误,你知道在哪里么?(呵呵,答案在最后,想知道为什么去看看正则表达式的教程吧,或者直接联系我!qq:593937893)


还有,这其实是301跳转的一部分,整站改版想将所有的url 都实现跳转,这一两条规则肯定是应付不来的,需要花费大量精力并且有足够的细致、耐心才可以发现规律,编写最准确、完备的规则。如果您有相关需求且不懂技术,而且又不想自己花费精力搞,只能请人来弄了,不过效果就不好保证啦!如果您和我的站改版内容相似,可以联系我来协助完成:qq:593937893.


2、网站301重定向需要注意的事项


综上,网站改版301操作是需要注意的事项:


1、将网站的所有形式的目录结构整理出来,找出异同


2、分析网站需要301的所有url以及跳转后的url的格式,找出异同和规律


3、将原url按类别分别记录5-10条,以便301测试时使用,如果有记录url的习惯,将整站的url记录下来更好。


4、301跳转要与网站系统内的url规则相匹配。


5、记得将相应的跳转规则提交各搜索引擎!


具体为什么列这几项,我就不展开了,只要你用心照着前页的方法执行,cnkjun相信你肯定会理解的。


(揭晓上面的答案:(\d+)_(\d+)_(\d+).html 最佳的写法应为:(\d{8})_(\d+)_(\d+).html)


cnkjun


本站原创文章,欢迎转载,但请务必注明出处,感谢您尊重cnkjun的劳动成果!cnkjun的博客 ? 网站改版301重定向怎么做?网站改版301的做法及注意事项

 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约