秦家大院

Feed Rss

怎么做301重定向?

12.22.2009, WordPress手记, by , 已被不明真相群众围观56回.

关于301重定向的说明和教程,实在多不胜数,这里我只是简单记录下自己的感受和设置方法。
刚开始搞的时候,对301重定向的理解是一头雾水, 直到最后设置成功,才算有个比较直观的认识。

其实就是在用新域名替代旧域名这个过渡阶段,让访问旧域名的人能自动转到新域名上。
[题外话:301重定向的作用应该跟域名解析里的URL转发作用是一样,反正我是这么理解的。只不过我国内老域名的URL转发极不稳定,等于没有;国外新域名的URL转发据说又被天朝给墙了……怨念啊! (这段话是我理解错误,详见一楼蓝冰的回复,谢谢指正!)]

显而易见,301重定向的好处就是让只记得你老域名的用户也能转顺利到新域名上,做到不丢用户,不少流量。
再就是尽量不影响搜索引擎的收录,避免重复收录被判为作弊。

我是直接在.htaccess文件中添加以下代码来实现301重定向的,这个方法仅限Linux主机:

Options +FollowSymLinks
RewriteEngine on
RewriteCond %{HTTP_HOST} ^dustbbs.cn [NC]
RewriteRule ^(.*)$ http://qinfei.info/$1 [L,R=301]
RewriteCond %{HTTP_HOST} ^www.dustbbs.cn [NC]
RewriteRule ^(.*)$ http://qinfei.info/$1 [L,R=301]

其中的dustbbs.cn是老域名qinfei.info是新域名,使用时用你相应的域名替换掉就行了!

- 2009年12月25日补充 -

之前的方法,虽然实现了域名的顺利转向,但是很快就发现一个弊端。
随便访问老域名下的一个链接地址,结果都被转到新域名的首页上了。我想,那些通过搜索引擎找来的朋友,一定很郁闷……当然,我就更郁闷了!
域名301重定向的方法有很多人介绍,但是要把老域名下的所有链接地址转到新域名对应的地址上,这个方法还真不多见,可能这种情况属于个例吧。
要实现老地址对新地址的转发,必须保证主机上的目录结构完全一致!我只换了域名,没换主机,所以这一点不是问题。

我现在是用以下代码替换了以前的所有代码,包括做301之前文件里就有的代码。

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{http_host} ^(www.)?dustbbs.cn [NC]
RewriteRule ^(.*)$ http://qinfei.info/$1 [L,R=301]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

7 则回应给 怎么做301重定向?

  1. 301中文全称是 永久重定向
    从名字就可以看出与url转发的不同了
    另外还有302重定向(临时性重定向)

    301和302可以做到所有页面一一定向
    而url转发只能做首页转发
    302和url会被认为作弊

    目前搜索引擎认可的只有301,新域名可以得到老域名的继承

    回复
  2. 我也在第一时间做了301,希望能弥补一些

    回复
    • 话说我看你那一二三四五条,看的头晕,小张也被我拖着搞晕了,到半夜两点才用我文中的代码搞定了。

      回复
  3. 我是域名和主机都换啦,目前2个域名绑在一个主机上。
    .-= = 我的最新博文 :兽兽 = =-.

    回复
  4. 301中文全称是 永久重定向 为什么

    回复


发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*


返回顶部