| 巧用404页解决换域名后搜索引擎收录延迟问题 |
| [ 作者:佚名 转贴自:网络转载 阅读次数:70 更新时间:2007-9-7 12:45:00 录入:刘光勇 ] 热 |
|
|
|
首先说一下为什么要写这篇文章,原因还是第二次换域名事件。
本来数据也找回来了,一切看起来都正常了,但是Blog开了一天也不见一个人来,要知道之前每天的浏览量最少也在90人以上啊,今天是怎么回事?只有三个人(都是我自己,呵呵)。
最后再从如易得Blog连接到我的Blog中才有点意识到问题所在,原因是连接用的地址=http://www.gu999.com.cn/blog
www.gu999.com.cn指向的是爸爸的空间,所以会显示404错误出来
这样说的话如果有人把友情连接填成http://www.gu999.com.cn/blog就不会到我的Blog来,而是被浏览器无情的抛出一个404来,而 http://blog.gu999.com.cn和http://fish.royee.com都是正常的
首先想到的办法是通知别人改,一秒钟之后我意识到我的想法太愚蠢了,先不说自己麻烦,因为到底谁做了我的友情连接我也不知道,对于别人他会不会改还是一回事。
怎么搞怎么搞,还得靠自己想办法~~
就在这时,有一个跟流量有着密切关系的问题出来了,对,搜索引擎,至今我写了90多篇日志,最近写的几篇是刚被收录的,所以形式都http://www.royee.com/cfgxy/read.php/*.htm这样的,而以前被收录的却都没变http://www.gu999.com.cn/blog.com/read.php/*.htm,后者当然是错的,而且大多数日志都是这个形式
至此,Blog流量突降的原因找到了:友情连接问题、搜索引擎收录问题
怎么解决,总不会要我把Blog在搬到爸爸服务器上吧,好吧,一步一步来,先从比较严重的搜索引擎收录问题开始 既然百度收录的http://www.gu999.com.cn/blog.com/read.php/*.htm,那我就在这个位置放个read.php然后通过他转到我现在的空间上 很简单的一个php
<? $str="<script language=javascript>"; $str.="var str=location.href;"; //取地址栏地址 $str.="str.replace('www.gu999.com.cn/blog','www.royee.com/cfgxy');"; //将地址中的'www.gu999.com.cn/blog'换成'www.royee.com/cfgxy' $str.="location.href=str;"; //转向 $str.="</script>"; echo $str; //执行以上js程序 ?>
本地测试成功
传到www.gu999.com的空间里却怎么也运行不起来,最后才知道空间不支持php
闹半天不支持php,这么说就连我搬空间的后路也断了,看来不解决这个问题我的Blog就要重开了
再想办法,既然www.gu999.com的空间不支持php那就在我的空间里实现吧,再一想,不行,那岂不是要把www.gu999.com指向我的空间,连带的就是把www.gu999.com.cn搬到我空间里,不好不好
再想办法,404~~404~~,突然我知道该怎么做了
其实这个想法,我已经在之前的日志中提过了,而且还靠它做了一个二级域名管理的小核心,虽然在实现二级域名这方面还有一些技术问题没有解决,但是对付现在这个问题还是绰绰有余的
好了,那就再用一次吧,这是一个比较“流氓”的做法(其实说难听点是“流氓”,说好听点就是对404机制的改造) 你出404错误,那我就在你的404页面动手脚
首先分析一下在www.gu999.com.cn网站里出现404错误的情况:1、从百度打开我以前被收录的日志2、网站确实没有这个文件
OK,IIS已经帮我们做了前期工作,他判断在这个网站里没有浏览者要浏览的文件可能性是1也可能是2,然后他抛出来一个404页面,那我就写个程序来分析一下你是不是要访问以前http://www.gu999.com.cn/blog,如果是我就引导浏览者到我的新空间,如果不是那对不起,我同样给你一个404错误
当然IIS抛出的404和我抛出404不能同为一个页面,否则我们的分析程序就会一直分析浏览者所要访问的页面存不存在,造成一个死循环
好了,道理说到这,看具体做法:
首先www.gu999.com.cn根目录下建立一个blog目录,接着 首页的转向用什么方式都行,这里我介绍我的方法
index.htm(首页转向)内容: <script language=javascript> location.hrefhttp://www.royee.com/cfgxy"; </script>
接着我需要一个分析页面和一个我们自己的404页面,因为我们写的分析程序将来要替代IIS抛出404页面,而404页面只能用静态的htm或者html,所以程序语言我选用客户端javascript
4041.html(分析程序) <script language=javascript> var str=location.href; var str2=str.replace('www.gu999.com.cn/blog','www.royee.com/cfgxy'); if(str==str2) //相等就说明没有字符串被替换,也就是属于第二种情况,网站确实不存在这个页面 location.href='/404.htm'; else location.href=str2; </script>
404.htm(自制的404页面) 这个页面你怎么搞都行,可以发挥想象自己设计一个,也可以直接把IIS的404错误页面源代码考过来,好了,节省时间我选择后者,呵呵
好了准备工作完成,把上面的index.htm放到blog目录下,这样别人通http://www.gu999.com.cn/blog来访问我的博客就正常了,友情连接问题迎刃而解
把404.htm和4041.htm部署在网站根目录,在空间的后台管理页面把4041.htm(注意是4041不是404),设为默认404页面,搜索引擎收录问题也解决了
接下来是收尾工作,把blog.gu999.com.cn域名重新指向http://www.royee.com/cfgxy
OK,至此本Blog第二次换址所遗留的问题完美解决(嗯?换了吗?没换吧~~~呵呵,跟没换一样的)
后记:404页面还有没有其他用途呢,你们来发掘吧,如易将要发布的一款二级域名管理系统也是基于此原理设计的,敬请期待~~好~~收工,睡觉~~
|
|
|
|