March 22nd, 2007
301 Redirect 重定向WP地址
Category: WordPress, Author: Nicky, Popularity: 18%上周四介绍了“如何设置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了。

修改后除了手动访问一下老地址是否正确重定向了,还可以使用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%。

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/。

本文提到的3个Redirect插件:
Redirection
Permalink Redirect (推荐)
WWW-Redirect
Tags:Permalinks, Plugin, Redirect, SEO, WordPress, WWW.
评论数量(24) | Add Comments
本文网址:http://www.osxcn.com/wordpress/permalink-redirect.html


菜鸟学习中,^_^
我想知道是否可以进行域名之间的切换?
切换了以后是否在一段时间后等google 百度收录了就可以撤销这个重定向插件了?
域名之间的切换用 301 Redirect 最好,直接把原域名的所有地址都重定向到新域名就可以了。
怎么实现,请把修改.htaccess的方法告诉我好么?
如果你以前的域名是 http://y0ungs.cn/,新域名是 http://newname.com/ ,你可以删除原域名下所有东西(或者把原域名解析到一个空目录),目录下只放一个 .htaccess 文件即可。写入下面的内容:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^y0ungs\.cn$ [NC]
RewriteRule ^(.*)$ http://newname.com/1 [R=301,L]
试试!
学习一下
我的天,原来wp还有这么些玩法……但是我发现,这些好玩的东西都只是建立在apache之下的,我用的win2003+iis6,似乎用permalink的意义不大,因为即便permalink之后还要在域名后带着个index.php,网上有人也放出了iis rewrite的规则,但是似乎对page无法很好的支持。
我对301实在不了解,想问一下,以上三种301重定向的插件,会不会导致搜索引擎的疑心?就是说之前收录的a网页的地址是a.htm,那么现在a网页的内容原封不动的变成了b.htm,也就是说会不会出现相似度太高而导致搜索引擎的怀疑呢?
不会的,这么做就是告诉搜索引擎,a.htm 的内容已经永久到 b.htm 了,以后不要再来看 a.htm 了。
我用了Redirection和Permalink Redirect两种,激活前者后,首页自己刷个不停,激活后者网页几乎不动了,是需要时间吗?还是咋回事?我之前的premaalink设置的是/index.php/%category%/%post_id%/,就是想简单的变成/%category%/%post_id%就好了 .
使用这个插件,建议在 apache 开启了 rewrite 模块下进行。
好的,同样感谢~
301的却是好办法
ok
这个东西不错!!
前天装了permalinks migration,发现只能处理一个跳转。
如果我曾多次变换过 permalinks格式,那么permalinks migration就处理不了了。
使用了Permalinks Redirect,启用了hostname redirect功能。 然后用你介绍的那个 URL Redirect Check检查了一下 。比如我把http://isought.com 全部跳转到http://www.isought.com/ 可是为什么检查给出的代码是 302,而不是301呢?
你检查一下 .htaccess 或者你使用的主机提供商,是否有这个功能,可能是他们影响了。
我用下面这个方法已经成功的转换了。
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 这个页面,不知道如何实现?
用上面的方法只会让所有到达旧域名的访客转向新域名。
前几天介绍了一些301重定向的WordPress插件,能够自动处理这个问题的就是“Permalink Redirect”。它的使用方法很简单,功能却不简单,除了处理上面提到的这个问题,还可以自动让/index.php重定向到根目录下面,和自动在每个目录结尾加上”/”,让你的目录地址也唯一,总之它能做的事情就是让你的WordPress URL地址唯一。另外有一个附加功能,可以选择是否让/feed/定位到你的FeedBurner地址上,相比Feedburner Feed Replacement要差一点,不能把/wp-rss2.php这些地址一起转移了。
如果你以前的域名是 http://y0ungs.cn/,新域名是 http://newname.com/ ,你可以删除原域名下所有东西(或者把原域名解析到一个空目录),目录下只放一个 .htaccess 文件即可。写入下面的内容:
RewriteEngine On
RewriteCond %{HTTP_HOST} ^y0ungs\.cn$ [NC]
RewriteRule ^(.*)$ http://newname.com/1 [R=301,L]
试试!
如果你以前的域名是 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]刚开始,还以后这句话多了个\
后来发现没有这个\都能行!有区别吗?
期待答复哦!
还会过来看的,呵呵
呵呵
如果整个域名搬迁的话能不能也用301重新定向到新的域名中。。。