March 22nd, 2007

301 Redirect 重定向WP地址

Category: WordPress, Author: Nicky, Popularity: 19%

上周四介绍了“如何设置WordPress的友好链接”,相信很多人和我一样,如果没有“Permalinks Migration Plugin”这个插件是不会随意修改Permalinks的,实际上它就是利用“301 Redirect 永久重定向”让旧地址永久性转移到新地址,而不会出现404找不到网页的错误。如果遇到这样的改变怎么办呢?“从http://www.domain.com/blog/转移到http://www.domain.com/”。当然还是使用301 Redirect,因为它是对搜索引擎友好的最好方法。如果你自己会修改.htaccess,这件事情就很简单了,但是对于大多数WordPress用户来说这都是不可能的事。

1、我们可以借助插件来实现,Redirection这个插件使用Ajax后台管理,操作简单又方便。下载激活这个插件后,到Manage > Redirection > Add new redirection这里设置,例如你要“从http://www.domain.com/blog/转移到http://www.domain.com/”就可以这么做:

在Source URL中填入 /blog/(.*)
在Target URL中填入 /$1
Type选择Simple redirection,Method选择301
勾选Regex,点击“Add Redirection”就ok了。

Redirection
修改后除了手动访问一下老地址是否正确重定向了,还可以使用URL Redirect Check工具检查一下状态是否 (301) Moved Permanently。

这个插件不但可以用于WordPress目录搬迁,还可以使URL网址规范化。在Manage > Redirection > Options 中勾选“Redirect index.php/index.html”,可以让http://www.domain.com/index.php永久定向到http://www.domain.com/。还可以选择带www或者不带www的域名为主域名(一些虚拟主机自带这个功能),Michael建议个人域名前不加www,我却喜欢加www,无论加不加,从SEO角度来说都需要设置一个为主域名,如果访问者从另一个域名进入,就会自动定向到主域名上。勾选“Create 301 when post slug changes”后,每当你修改Post Slug它就会自动创建一个规则,让旧地址定向到修改后的新地址,前提是你的Permalinks中有%postname%。
Redirection Options

2、如果你的WordPress不会进行目录搬迁,和经常修改目录结构,那上面介绍的这个插件就太过于臃肿和繁杂了,不是推荐所有用户都安装。但是下面介绍的这个插件—“Permalink Redirect”,就是SEO WordPress必备工具了。大家都知道设置Permalinks的好处,在WordPress中虽然设置了Permalinks,但是像http://www.osxcn.com/?p=848这样的地址还是存在而且可以访问到的,Page(?page_id=)和分类(?cat=)也是一样,这个插件就是让你的文章、Page和分类只有唯一的URL,还可以自动在目录结尾加上”/”让你的目录地址也唯一。也可以自动把http://www.domain.com/index.php定向到http://www.domain.com/这里,让你的首页地址唯一。安装这个插件更简单,上传激活就自动生效了,不用其他设置。

3、最后介绍一个更简单的插件—“WWW-Redirect”,相对功能也简单,只能设置域名是否带www前缀,是否把http://www.domain.com/index.php定向到http://www.domain.com/。
WWW-Redirect

本文提到的3个Redirect插件:
Redirection
Permalink Redirect (推荐)
WWW-Redirect

Tags:, , , , , .
评论数量(26) | Add Comments
本文网址:http://www.osxcn.com/wordpress/permalink-redirect.html



26 Comments so far

» You can leave a response or Trackback .

  1. Gravatar Icon 网站申请 Says:

    菜鸟学习中,^_^

  2. Gravatar Icon y0ungs Says:

    我想知道是否可以进行域名之间的切换?
    切换了以后是否在一段时间后等google 百度收录了就可以撤销这个重定向插件了?

  3. Gravatar Icon Nicky Says:

    域名之间的切换用 301 Redirect 最好,直接把原域名的所有地址都重定向到新域名就可以了。

  4. Gravatar Icon y0ungs Says:

    怎么实现,请把修改.htaccess的方法告诉我好么?

  5. Gravatar Icon Nicky Says:

    如果你以前的域名是 http://y0ungs.cn/,新域名是 http://newname.com/ ,你可以删除原域名下所有东西(或者把原域名解析到一个空目录),目录下只放一个 .htaccess 文件即可。写入下面的内容:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^y0ungs\.cn$ [NC]
    RewriteRule ^(.*)$ http://newname.com/$1 [R=301,L]

    试试!

  6. Gravatar Icon 周易 Says:

    学习一下

  7. Gravatar Icon 史上最菜 Says:

    我的天,原来wp还有这么些玩法……但是我发现,这些好玩的东西都只是建立在apache之下的,我用的win2003+iis6,似乎用permalink的意义不大,因为即便permalink之后还要在域名后带着个index.php,网上有人也放出了iis rewrite的规则,但是似乎对page无法很好的支持。
    我对301实在不了解,想问一下,以上三种301重定向的插件,会不会导致搜索引擎的疑心?就是说之前收录的a网页的地址是a.htm,那么现在a网页的内容原封不动的变成了b.htm,也就是说会不会出现相似度太高而导致搜索引擎的怀疑呢?

  8. Gravatar Icon Nicky Says:

    不会的,这么做就是告诉搜索引擎,a.htm 的内容已经永久到 b.htm 了,以后不要再来看 a.htm 了。

  9. Gravatar Icon 史上最菜 Says:

    我用了Redirection和Permalink Redirect两种,激活前者后,首页自己刷个不停,激活后者网页几乎不动了,是需要时间吗?还是咋回事?我之前的premaalink设置的是/index.php/%category%/%post_id%/,就是想简单的变成/%category%/%post_id%就好了 .

  10. Gravatar Icon Nicky Says:

    使用这个插件,建议在 apache 开启了 rewrite 模块下进行。

  11. Gravatar Icon 史上最菜 Says:

    好的,同样感谢~

  12. Gravatar Icon 痴情的猪 Says:

    301的却是好办法

  13. Gravatar Icon kuan Says:

    ok

  14. Gravatar Icon Nukq Says:

    这个东西不错!!

    前天装了permalinks migration,发现只能处理一个跳转。
    如果我曾多次变换过 permalinks格式,那么permalinks migration就处理不了了。

  15. Gravatar Icon isought Says:

    使用了Permalinks Redirect,启用了hostname redirect功能。 然后用你介绍的那个 URL Redirect Check检查了一下 。比如我把http://isought.com 全部跳转到http://www.isought.com/ 可是为什么检查给出的代码是 302,而不是301呢?

  16. Gravatar Icon Nicky Says:

    你检查一下 .htaccess 或者你使用的主机提供商,是否有这个功能,可能是他们影响了。

  17. Gravatar Icon 初生牛犊 Says:

    我用下面这个方法已经成功的转换了。

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^y0ungs.cn$ [NC]
    RewriteRule ^(.*)$ http://newname.com/$1 [R=301,L]

    但是有一个问题。比如www.y0ung.cn/07/07/1.html的页面自动转向newname.com/07/07/1.html,但是我又想让到www.newname.com的访问者能看到 http://www.newname.com/index.html 这个页面,不知道如何实现?

    用上面的方法只会让所有到达旧域名的访客转向新域名。

  18. Gravatar Icon 这个不错 Says:

    前几天介绍了一些301重定向的WordPress插件,能够自动处理这个问题的就是“Permalink Redirect”。它的使用方法很简单,功能却不简单,除了处理上面提到的这个问题,还可以自动让/index.php重定向到根目录下面,和自动在每个目录结尾加上”/”,让你的目录地址也唯一,总之它能做的事情就是让你的WordPress URL地址唯一。另外有一个附加功能,可以选择是否让/feed/定位到你的FeedBurner地址上,相比Feedburner Feed Replacement要差一点,不能把/wp-rss2.php这些地址一起转移了。

  19. Gravatar Icon 这个不错 Says:

    如果你以前的域名是 http://y0ungs.cn/,新域名是 http://newname.com/ ,你可以删除原域名下所有东西(或者把原域名解析到一个空目录),目录下只放一个 .htaccess 文件即可。写入下面的内容:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^y0ungs\.cn$ [NC]
    RewriteRule ^(.*)$ http://newname.com/$1 [R=301,L]

    试试!

  20. Gravatar Icon Aappy Says:

    如果你以前的域名是 http://y0ungs.cn/,新域名是 http://newname.com/ ,你可以删除原域名下所有东西(或者把原域名解析到一个空目录),目录下只放一个 .htaccess 文件即可。写入下面的内容:

    RewriteEngine On
    RewriteCond %{HTTP_HOST} ^y0ungs\.cn$ [NC]
    RewriteRule ^(.*)$ http://newname.com/$1 [R=301,L]

    试试!

    感谢5楼 Nicky 的答复!!!成功了!

    RewriteCond %{HTTP_HOST} ^y0ungs\.cn$ [NC]刚开始,还以后这句话多了个\
    后来发现没有这个\都能行!有区别吗?

  21. Gravatar Icon aappy Says:

    期待答复哦!

  22. Gravatar Icon aappy Says:

    还会过来看的,呵呵

  23. Gravatar Icon Aappy Says:

    呵呵

  24. Gravatar Icon stephen Says:

    如果整个域名搬迁的话能不能也用301重新定向到新的域名中。。。

  25. Gravatar Icon shazeer Says:

    博主你好,我从搜索引擎找到你的blog。想向博主请教个问题啊,我的wp博客安装了Redirection这个插件后,在FF上可以把不带“www”的域名转换到带“www”的域名上,但在IE6中却不行,这是怎么回事呢?怎么做了301重定向之后在不同浏览器会有不同的效果的嘛?期待博主的回复啊,先行谢过了。

  26. Gravatar Icon 午夜客 Says:

    很完美

42 Trackbacks/Pingbacks

leave a reply