WordPress更换域名后如何进行301重定向 使新旧域名都可以同时访问而不影响搜索引擎收录

添加评论 2009年6月18日

很多朋友都有将自己的WordPress独立博客更换域名的经历,或是对原来的域名不满意,或者原来的域名是国内域名想更换成国际域名等等。更换的过程方法很简单。wordpress后台或者是进到数据库phpmyadmin更改wp-config里面相应的url就可以了。

但问题是:更改域名后原来的旧域名就无法访问了,搜索引擎里面收录的页面还是用的旧域名做为地址,那些通过搜索引擎来到你博客的访客很有可能因为域名的变动而无法访问,甚至使搜索引擎的爬虫误以为你的站无法访问而影响收录,被降权甚至是被K站。这么大的损失自然不是博友们愿意看到的。

这个时候Linux主机强大的自定义.htaccess文件功能就能发挥它的作用了。你只需要按照下面的方法添加代码到.htaccess文件,就可以完美解决WordPress更换域名后老域名无法正常访问的问题。

打开你站点下面的.htaccess文件,一般情况下你看到的应该是类似于:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END

你在下面添加下面一段代码,变成,
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# BEGIN WordPress
<IfModule mod_rewrite.c>
Options +FollowSymLinks
RewriteEngine on
rewritecond %{http_host} ^www.olddomain.com[nc]
rewriterule ^(.*)$ http://www.newdomain.com/$1 [L,R=301]
</IfModule>
# END

把代码中的www.olddomain.com和www.newdomain.com分别改成你的旧域名和新域名,这样,就可以解决WordPress更换域名后如何进行301重定向。如果你使用的主机不支持.htaccess的方法,那么下面一种方法就很适合你:利用PHP代码实现301的重定向。

如果你的主机不支持.htaccess进行重写,那么,直接在程序中进行重写可能就很适合你了,而在程序中进行重写也十分的简单,下面进行介绍。

1. 直接打开WordPress根目录下的 wp-blog-header.php 文件
2. 在第一行插入以下代码:
if (strtolower($_SERVER[‘SERVER_NAME’])!=’www.nupt.org’)
{
$URIRedirect=$_SERVER[‘REQUEST_URI’];
if(strtolower($URIRedirect)==’/index.php’)    {
$URIRedirect=’/';
}
header(’HTTP/1.1 301 Moved Permanently’);
header(’Location:http://www.nupt.org’.$URIRedirect);
exit();
}

然后上传上服务器,你的301重定向就实现了。

  1. 2010年11月26日 at 11:03 | #1

    要的就是这个方法啦,找了好半天,总算有解决办法了

  1. 还没有 trackbacks
订阅评论