如何将老站中的所有页面都301重定向到新站点

博客更换域名和空间已经是将近半年前的事了,当时只是把老站的首页做了301重定向到新站首页,之后就再没打理过老站了。前两天在看博客统计数据的时候突然想起来其实老站还一直都在运行,也不知道现在还有没有人去访问。不看不知道,看了以后才发现,原来几个月过去了,老站一直每天都享受着搜索引擎为她带来的新鲜流量,虽然不是很多,但是却非常稳定。
为了不浪费这些流量,于是赶紧采取了一些措施将老站的内页也重定向到了新站。当然,也是跳转到新站的首页。其实我最想要的是将老站的文章页与新站文章页一一对应,曾将想过要通过文章ID的形式对应,但是由于新老站点的url格式完全不一样,我实在是没有找到可行的办法,也不知道能不能这样做。下面就向需要这方面帮助的朋友介绍一下我将博客老站大部分页面(基本涵盖了所有所有引擎能够收录到的页面)重定向到新站首页的方法。
针对问题:做新老站点301重定向后,只有首页跳转,内页却无法跳转,导致被搜索引擎收录页面依然指向老站。
效果:当点击任何展示在搜索引擎上的老站页面时都会跳转到新站首页(你也可以指定跳转到新站其他页面)。
说明:本站老域名:www.tiotip.com 新域名:www.newpm.net 请根据你的实际域名将下面代码中出现的域名做相应替换。本方法适用于以如WordPress等以php作为编码语言的网站程序。
方法:
1.首页跳转。
将网站所在空间根目录内的.htaccess文件内写入如下代码:

Options +FollowSymLinksRewriteEngine onRewriteCond %{HTTP_HOST} ^tiotip.com$ [OR]rewritecond %{http_host} ^www.tiotip.com [nc]rewriterule ^(.*)$ http://www.newpm.net/$1 [L,R=301]

保存后上传覆盖。至此老站的首页便可以跳转到新站首页了。
2.内页跳转。
在需要跳转的内页文件中(我写在了文件顶部)写入如下代码:

<?php Header("HTTP/1.1 301 Moved Permanently"); Header("Location: http://www.newpm.net"); ?>

我将此段代码写入了如下文件(主题内文件)中:404.php(404页面)、archive.php(分类归档页面)、page.php(独立页面)、single.php(文章页面)。如果你的博客收录正常的话,在你博客中能够出现在搜索引擎上的页面基本上就是这几个,写入如上代码,就可以把这几类页面全部做301新站首页(同样可以指定到其他页面)了。
完成后你可以在引擎上搜索挂着你老域名的内容,点击进去看看效果,是不是已经到达你的新站了呢?唯一的遗憾是:本来要找的文章变成了现在的首页,还需要在你的新站上再次搜索一下关键词才能找到你在搜索引擎上真正点击的那篇文章。

发表评论

6 条回应

  1. kdwik说道:

    (主题内文件)中:404.php(404页面)、archive.php(分类归档页面)、page.php(独立页面)、single.php(文章页面) 请问下这些文件的路径在哪里? 我是菜鸟求完整。 谢谢

  2. 老罗说道:

    这个很有用,以前曾使用过!

  3. 院长说道:

    [抠鼻] 301不仅仅可以保留原来站的流量 而且还能把老站的权重给慢慢转移到新站上来

  4. 夹克衫说道:

    是个比较实用的方法,收藏一下

  5. Tokin说道:

    soka,原来是这样,以前换货一次域名,那个域名直接被我丢了。。。。