站长朋友们在使用WordPress建站的过程中,不可避免的要更换域名,或者不更换域名,出于对SEO的考虑,使用重定向的方法可以避免页面权重分散和流失。这篇教程里我们就向大家介绍一下重定向的方法:网站重定向分为301或302重定向,其中前者为永久重定向,后者为临时重定向。我们通过编辑htaccess文件来实现重定向。
把不带www前缀的域名301到带www前缀的域名
如果我们想把不带www的域名301重定向到带www的域名上面,可以通过下方代码实现:
1 2 3 | RewriteEngine On RewriteCond %{http_host} ^91wordpress.com$ [NC] RewriteRule ^(.*)$ https://www.91wordpress.com/$1 [R=301,L] |
代码解释:
“RewriteEngine On”用来开启Rewrite规则。
“RewriteCond”是指重定向的条件,后面的字符串是通过正则表达式进行匹配的,匹配字符串通常以 ^ 开头并且以 $ 结尾。此处 %{http_host} 用来获取当前主机的名称。条件为“当主机名称为91wordpress.com”时则执行下列的重写规则。其中“[NC]”指不区分大小写。
“RewriteRule”用来定义一条重写规则。此处的含义是跳转到“https://www.91wordpress.com/”。[R=301] 指重写为 301 重定向或跳转([R] 单指跳转,意义等同 [R=302]),[L] 是指最后一条匹配规则。
把带www前缀的域名301到不带www前缀的域名
如果我们想把带www的域名301重定向到不带www的域名上面,可以通过下方代码实现:
1 2 3 | RewriteEngine On RewriteCond %{http_host} !^91wordpress.com$ [NC] RewriteRule ^(.*)$ https://www.91wordpress.com/$1 [L,R=301] |
把老域名301重定向到新域名上
当我们需要更换域名时,老域名的权重不能白白浪费掉,使用重定向对SEO或者PR值的传递是非常有效的,我们可以把老域名的顶级域名301重定向到新域名,代码如下:
1 2 3 4 | RewriteEngine On RewriteCond %{http_host} ^(www.)?old.com$ [NC,OR] RewriteCond %{http_host} ^91wordpress.com$ [NC] RewriteRule ^(.*)$ https://www.91wordpress.com/$1 [R=301,L] |
代码解释:添加完以上代码之后,无论你访问old.com,www.old.com,91wordpress.com都会301到www.91wordpress.com上。所有的内页也会跟着301重定向,接下来至少等待2个月,期间不要删除原域名,慢慢的等着权重完全转移就可以了。