关于网址重定向的一点体会
放牛娃,2008年2月24日
将最近这一段时间网站建设的一点心得记录下来,希望能给有同样困惑的朋友们一点帮助吧。
1.转换博客程序后的重定向问题
好的网站的架构会极大提升读者的阅读体验。程序和目录一旦被定下来,再被搜索引擎大量收录,同时有文章被别人转载后,这时如果不经过重定向改动网站架构,会极大的挫伤网站的人气。看月亮实验室的历史就知道其中的利害了,月亮实验室起步于2004年,当时叫小小哆来咪。起初想做成论坛,可由于主题大而化之,总是拉不起人气,就索性改成博客了。当时选用L-blog搭建,没有用任何的优化,几个月后就被google和百度收录,日均ip能达到二百多,注册会员的有一百多人吧。可是由于L-blog当时太普遍的原因,而且程序停止更新,导致广告留言泛滥。所以决心改为其他blog系统,最后选中Z-blog,原因已经在
一点个人博客系统的经验中做了说明。当时转移后丢失了注册会员,很是心疼了一阵子呢,因为在逢年过节时,可给朋友们发个问候邮件。其实最大的问题后来才显现出来,即文章的地址发生了变化,所有来自搜索引擎和转载的地址都被判为无法访问,流量白白的损失。换程序后就等于一切从头再来了。更有趣的是,很多转载自本站的文章在搜索引擎中竟然排在本站的前面,感觉是新站的文章倒是抄袭了。哎,就是因为当时不知道用301永久重定向,要是早一点知道就不会造成这些难堪了。
现在看来将动态网页(比如L-blog,pj-blog等)中的文章转到Z-blog等静态网页是很轻松的事情,代码见附文。
2.网站目录变化引起的重定向问题
将动态网页自动跳转到静态网页已经很容易,而对于静态网页跳转静态网页就比较麻烦了。如果有服务器管理权限时,可以比较轻松的实现静态目录的重定向,但是对于虚拟主机就行不通了。还是拿月亮实验室来说吧,在小小哆来咪改组到月亮实验室后,我将网站内容全部放到了二级目下,分为论坛,博客,广播和相册。重头戏博客竟被随意放在了/me/目录下,而用/blog/目录来试验一款ajax blog,这样/me/目录下的文章就被搜索引擎大量收录,同时一些文章也被转载。如果不再调整目录也不会有什么问题,可我总是不满意这个二级目录,同时也不想做论坛了,和谐时代,我不想因小小论坛添麻烦,就去掉了论坛,开始专心做自己的博客。这样问题就出来了,我的主要内容都在博客里,可博客却在二级目录下,凭空为读者增了一道麻烦,而且/me/这个名字也不贴切,所以就考虑转移目录。
这次吸取前次转移程序时的教训,希望能借助一些代码实现目录的平滑过渡,可发现所能找到的代码都是动态到动态或者静态,就是没有静态到静态的跳转代码。再三斟酌后,想出了以下解决方法,简述如下:
(1) 首先将整个程序转移到想要的目录下,月亮实验室就是转到根目录下面;
(2) 文件重建,并将重建后的静态文件复制到旧的目录下面;
(3) 建立robots文件,将原来的旧/me/目录列为禁止访问目录,同时更新网站地图。
这样所有问题就轻松解决了,由搜索引擎来的流量不会损失,同时搜索引擎会快速的收录新目录下的文件,一般google会在一个星期内收录新目录的文章,旧目录下的文件会被慢慢删除掉。由于旧目录下的文章复制自重建后的文件,所以当读者点击相关文章时会带入新目录,同时读者的评论也会自动加载到新的文章里。再没有发现其它更好方法之前,该方法是非常凑效的,对于和我一样困惑的朋友不妨试一试。
如果各位朋友有更好的办法,别忘了告诉我啊!
附文:动态页重定向到静态网址的代码(来自www.radys.cn):
<%
'此内容保存为旧目录下的article.asp文件,根据博客程序而定
Dim ID
ID = Request.QueryString("id")
If Request.ServerVariables("URL") ="/旧博客目录/article.asp" and ID <>"" and Isnumeric(ID) then
Response.Redirect("/新博客目录/"& ID & ".html") '转向指定页面
Else
Response.Redirect("/") '返回网站根目录
End If
%>
Tags: blog 博客 重定向
分类: 网络资源 | 评论:2 | 浏览: